Excel VBA ChDrive / ChDir不会更改Word文档的文件保存位置

时间:2018-09-15 23:05:06

标签: excel vba ms-word

我一直在尝试获取Excel VBA脚本来打开现有的Word文档(主模板),然后将其自动另存为.docx到另一个文件位置。文件名和文件位置的变量保存在通过vlookups创建的Excel文档(x y z)中。

当脚本打开并保存文档时,它始终保存在默认文件位置(“我的文档”)中,而不是指定位置(“ folder3”)中。

我的理解是需要使用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

1 个答案:

答案 0 :(得分:1)

感谢吉普车和共产国际。

这个问题更简单的解决方案是,通过使用文件名中用“ \”分隔的文件夹名称来提供SaveAs的完整路径。

简单得多