Vba 使用Excel中的字段自动填充唯一的word文档(Office 365 business version 1701)

Vba 使用Excel中的字段自动填充唯一的word文档(Office 365 business version 1701),vba,Vba,我需要找到一种方法,使用电子表格中的字段自动更新某些程序文档(word文档): 总共有20个文档,所以我真的想要一个单一的方法,在这个方法中我可以一次更新所有文档 所有文件均基于同一模板;但是,每个contian都有一个表(记录该文档的版本历史记录)。此表的内容是唯一的,并且行数因文档而异 我想到的第一件事是使用邮件合并;然而,这将意味着我将从每个文档中释放唯一的表,并将不得不重新添加它们,这将使流程自动化 我已将word文档中要更新的字段作为遗留文本表单字段,并找到一些VBA代码,使我能够指

我需要找到一种方法,使用电子表格中的字段自动更新某些程序文档(word文档):

总共有20个文档,所以我真的想要一个单一的方法,在这个方法中我可以一次更新所有文档

所有文件均基于同一模板;但是,每个contian都有一个表(记录该文档的版本历史记录)。此表的内容是唯一的,并且行数因文档而异

我想到的第一件事是使用邮件合并;然而,这将意味着我将从每个文档中释放唯一的表,并将不得不重新添加它们,这将使流程自动化

我已将word文档中要更新的字段作为遗留文本表单字段,并找到一些VBA代码,使我能够指定特定表单字段应从电子表格中的特定单元格更新;但是,我必须为每个文档单独指定这些

这是我正在使用的代码

“FormFields(“Field1”).Result=ActiveWorkbook.Sheets(“Sheet4”).Range(“A2”).Value”


理想情况下,我需要一个方法,将工作的每一个word文档在给定的文件夹,确定相关行在电子表格中,并更新相应的文件。word文档被命名为文档ID(电子表格中的第一列)。

在word中添加文档变量。如果你不知道怎么做,用谷歌搜索一下。然后,从Excel运行下面的脚本

Sub PushToWord()

Dim objWord As New Word.Application
Dim doc As Word.Document
Dim bkmk As Word.Bookmark
sWdFileName = Application.GetOpenFilename(, , , , False)
Set doc = objWord.Documents.Open(sWdFileName)

objWord.activedocument.variables("BrokerFirstName").Value = Range("BrokerFirstName").Value
objWord.activedocument.variables("BrokerLastName").Value = Range("BrokerLastName").Value

ActiveDocument.Fields.Update

objWord.Visible = True

End Sub
最后,循环浏览单个文件夹中的所有Word文档