使用 vba 中的单元格值保存动态文件
Posted
技术标签:
【中文标题】使用 vba 中的单元格值保存动态文件【英文标题】:Dynamic file saving using cells values in vba 【发布时间】:2020-11-16 12:57:55 【问题描述】:我想使用 vba 中的单元格值实现动态文件保存到对应的文件夹名称,如下所示:
Sub Envoie_Formulaire()
Dim MyFile1 As String
Dim MyFile2 As String
Dim MyFile3 As String
Dim MyFile4 As String
Dim MyFileDir As String
Dim MyFile As String
MyFile1 = Range("D2").Text
MyFile2 = Range("E2").Text
MyFile3 = Range("F2").Text
MyFile4 = Range("G2").Text
MyFileDir = MyFile1 + MyFile2
MyFile = MyFile1 + MyFile2 + MyFile3 + MyFile4
' Do not display the message about overwriting the existing file.
' Save the active workbook with the name of the
' active workbook. Save it on the E drive to a folder called
' "User" with a subfolder called "JoeDoe."
ActiveWorkbook.SaveAs Filename:"\\localAdress\folder1\folder2\folder3\" & MyFileDir "\" & MyFile" "\"
' Close the workbook by using the following.
Application.DisplayAlerts = False
End Sub
***注:
D2 = the word "BLOC-"
E2 = A letter from "A" to "N"
F2 =the word "BUREAU"
G2=a number of office from "1 to 1000".
所以我将动态 filename "BLOC-XXX BUREAU-XXX"
保存到静态网络目录 (\\localAdress\folder1\folder2\folder3\BLOC-A)
现在我只想从第一个相应单元格中的用户输出中调用“BLOC-xxx”。
但问题是文件名路径 ligne 中产生的语法错误,当我添加“& MyFileDir”时。 有什么建议可以实现吗?
【问题讨论】:
不清楚MyFile1
...MyFile4
的内容是什么。请阅读minimal reproducible example 并给出一个完整的示例,包括示例输入数据和所需的输出。
不太清楚你想要完成什么。是否要保存名称为 MyFile1, Myfile2 etc.
的活动工作簿?所有这些都在同一路径中(“\\localAdress\folder1\folder2\folder3\”)? MyFile
想成为什么?无论如何,独立于上述澄清请求,您必须设置要保存的工作簿扩展...
MyFile1…MyFile4 的内容为单元格值(Cell D2,E2,F2,G2...)
这是您问题中唯一明确的问题。这些字符串要如何使用?像构建路径中的子文件夹名称一样?喜欢在同一路径中保存工作簿的不同名称吗?或者,如果上述任何假设都不是您想要的?
我还是什么都不懂...如果,让我们说MyFile1 = "Test1"
和MyFile2 = "Test2"
,你想像Test1\Test2
那样在路径中使用它们吗?还是像“Test1Test2”这样的简单串联名称?独立于解释这部分,这些文件夹是否已经创建?您想要在SaveAs
方法期间创建它们的代码吗?
【参考方案1】:
肯定语法错误在于你必须改变:
ActiveWorkbook.SaveAs Filename:
到:
ActiveWorkbook.SaveAs Filename:=
根据你的变量名,我想说你应该改变:
MyFile = MyFile1 + MyFile2 + MyFile3 + MyFile4
到:
MyFile = MyFile3 & MyFile4
因此最后的陈述应该是:
ActiveWorkbook.SaveAs Filename:="\\localAdress\folder1\folder2\folder3\" & MyFileDir & "\" & MyFile
【讨论】:
好吧,代码中的错误肯定不止这些,如果你看看行尾& MyFile" "\"
@Pᴇʜ,我不排除这种情况
好吧,那么这是一个评论,而不是问题的解决方案/答案。他得到的语法错误不会改变你的建议。
把它变成了更合适的答案内容
更好 ^^ 但MyFileDir "\"
仍然缺少&
并且最后的"
太多了。抱歉这么苛刻;)以上是关于使用 vba 中的单元格值保存动态文件的主要内容,如果未能解决你的问题,请参考以下文章
使用基于单元格值的excel VBA打开文件,路径由相同的值动态组成