VBA打开Word文档并刷新链接

时间:2014-11-04 19:42:31

标签: excel vba ms-word word-vba linked-tables

我希望能找到解决问题的方法(无论是否是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

1 个答案:

答案 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