【发布时间】:2019-02-20 07:21:11
【问题描述】:
我一直在尝试获取 Excel VBA 脚本来打开现有的 Word 文档(主模板),然后自动将其另存为 .docx 文件位置。文件名和文件位置的变量保存在通过 vlookups 创建的 Excel 文档 (x y z) 中。
当脚本打开并保存文档时,它始终保存在默认文件位置(我的文档)而不是指定位置(文件夹 3)。
我的理解是需要 ChDrive 和 ChDir 函数来调整它,但我无法让它工作。
这似乎与这个问题/答案Excel VBA Saving File in Designated Location 非常相似,但我不明白如何将其集成到此代码中,或者它是否实际上是同一个问题。
非常感谢任何帮助。
Sub OpenDocSaveforUpdate()
Dim x As Range
Dim y As Range
Dim z As Range
Dim folder As String
Dim folder2 As String
Set wdApp = CreateObject("word.application")
wdApp.Visible = True
Set x = Sheets("Sheet1").Range("B31")
Set y = Sheets("Sheet1").Range("B32")
Set z = Sheets("Sheet1").Range("B33")
folder = "T:\Archive"
folder2 = x & y & z & ".docx"
folder3 = folder & x & y
Filename = (folder & folder2)
Documents.Open (Filename)
ChDrive "T"
ChDir (folder3)
wdApp.ActiveDocument.SaveAs (z & Format(Now, "yyyymmdd") & ".docx")
Set wdapp = Nothing
End Sub
【问题讨论】:
-
为什么不 .saveas 文件夹 & "\" & z ?
-
只需给出
SaveAs的完整路径而不是文件名。 -
我以为SaveAs函数只允许你指定一个文件名,你能指定一个文件路径吗?