我希望找到解决我的问题的方法(不管是不是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
更新
好的,我能够使打开文件命令工作!现在我正试图让它覆盖/保存文件并关闭它。
错误消息:需要对象
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
您可以尝试以下任何一种:
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