我希望能找到解决问题的方法(无论是否是VBA)。我有一个Word文档,其中包含链接的Excel表格。所有链接都正常工作,但我必须手动打开Word文档才能使用Excel数据进行刷新。我使用Word而不是Excel的原因是由于文本量很大。
有没有办法可以编写某种代码来遍历文件夹中的所有Word文档,打开每个文档,刷新所有链接,保存文档,然后转到下一个文档?
这是我到目前为止所拥有的
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "LOCATION"
MyFile = Dir(MyFolder & "\*.docx")
Do While MyFile <> ""
Documents.Open Filename:=MyFolder & "\" & MyFile
MyFile = Dir
Loop
End Sub
更新
好的,我能够使open files命令工作!现在我试图让它覆盖/保存文件并关闭它。
错误消息:需要对象
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
MyFolder = "LOCATION"
MyFile = Dir(MyFolder & "\*.docx")
Do While MyFile <> ""
objWord.Documents.Open Filename:=MyFolder & "\" & MyFile
Application.DisplayAlerts = False
ActiveDocument.SaveAs Filename:=MyFile
Application.DisplayAlerts = True
MyFile = Dir
Loop
End Sub
答案 0 :(得分:0)
您可以尝试以下任何一项:
Dim objDoc As Object
Do While Myfile <> ""
Set objDoc = objWord.Documents.Open(Filename:=MyFolder & "\" & MyFile)
objDoc.Save '~~> Save
objDoc.Close '~~> Close
Myfile = Dir
Loop
或者您可以像这样使用关闭方法。
objDoc.Close True '~~> close with SaveChanges argument set to True