我一直在尝试获取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
答案 0 :(得分:1)
感谢吉普车和共产国际。
这个问题更简单的解决方案是,通过使用文件名中用“ \”分隔的文件夹名称来提供SaveAs
的完整路径。
简单得多