Vba MS Word不会取消一个文档的字段链接,但会取消另一个文档的字段链接

Vba MS Word不会取消一个文档的字段链接,但会取消另一个文档的字段链接,vba,excel,ms-word,Vba,Excel,Ms Word,我有一些VBA代码(在Excel中),可以打开Word文档,断开链接,并将该Word文档保存到其他位置。 所有这些都是自动传输给用户的,他们只会看到一个文件出现在一个文件夹中 我的问题是它适用于以下情况: Private Sub Button1_Click() Dim objWord As Object Dim docWord As Object Const wdDoNotSaveChanges As Long = 0 Set objWord = CreateObject("Word.Appl

我有一些VBA代码(在Excel中),可以打开Word文档,断开链接,并将该Word文档保存到其他位置。 所有这些都是自动传输给用户的,他们只会看到一个文件出现在一个文件夹中

我的问题是它适用于以下情况:

Private Sub Button1_Click()

Dim objWord As Object
Dim docWord As Object
Const wdDoNotSaveChanges As Long = 0
Set objWord = CreateObject("Word.Application")
Set docWord = objWord.Documents.Open(ThisWorkbook.Path & "\A folder\Myfile.doc")

objWord.ActiveDocument.Fields.Unlink

objWord.ActiveDocument.SaveAs ThisWorkbook.Path & "\" + Cells(1, 7) + "myfile.doc"

objWord.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
objWord.Quit

End Sub
但不适用于以下情况,即应在不同的Word文档上执行相同的功能:

Private Sub Button2_Click()

Dim objWord As Object
Dim docWord As Object
Const wdDoNotSaveChanges As Long = 0
Set objWord = CreateObject("Word.Application")
Set docWord = objWord.Documents.Open(ThisWorkbook.Path & "\A Folder\Myfile2.doc")

objWord.ActiveDocument.Fields.Unlink

objWord.ActiveDocument.SaveAs ThisWorkbook.Path & "\" + Cells(1, 7) + "MyFile2.doc"

objWord.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
objWord.Quit

End Sub
当我打开生成的第一个文档(第一个代码的结果)时,它不会要求我更新链接,链接也会按照预期的那样断开

当我打开生成的第二个文档(第二个代码的结果)时,它要求我更新链接

编辑:

上面的两段代码已经合并并放入一个子代码中,该子代码包含转发给它的变量-一个文档按照预期更新和取消链接的结果仍然相同,另一个文档在打开时询问用户是否要更新链接

所以现在很可能是Word文档的问题

两个Word文档都通过“粘贴特殊”>“粘贴链接”链接到Excel

两者仅链接到一个Excel文档


我能看到的唯一区别是一个文档的链接比另一个文档多很多,但链接的数量肯定不重要?

进一步调查后,问题仅限于文档的标题。我的代码将取消文档正文中所有字段的链接,但不会对标题执行此操作。因此,标题保持链接,并询问用户是否要更新

我最终在这里找到了解决方案:

也许
Set docWord=objWord.Documents.Open(thiswoolk.Path&“\Myfile2.doc”,UpdateLinks:=False)
True
如果要更新链接,为什么要在两个位置使用相同的代码?将其转换为
子文件
,然后从单击处理程序调用。打开的文件及其保存到的文件路径是每个实例之间的唯一区别。我已经为这个例子简化了路径。你仍然可以按照共产国际的建议使用sub,只需向它传递一个变量。这里的重点是,你在这方面走错了方向-我怀疑是其他文档导致了你的问题-不是编解码器的可持续性(虽然这很重要)不是演示要求的,问题是在打开word文档时没有更新链接的消息。。可能