我需要找到一种方法,使用电子表格中的字段自动更新某些过程文档(word文档):
总共有20个文档,所以我真的想要一个方法,我可以一次性对所有文档应用更新。
所有文件都基于相同的模板;但是,每个都包含一个表(记录该文档的版本历史记录)。此表的内容是唯一的,行数因文档而异。
我首先要使用的是mailmerge;但是,这意味着我将从每个文档中删除独特的表格,并且必须重新添加它们,这将破坏自动化过程的重点。
我已经将单词doc中要更新的字段作为Legacy Text Form Fields,并找到了一些VBA代码,使我可以指定,特定表单字段应该从我的电子表格中的特定单元格更新;但是,我必须单独为每个文件指定这些。
这是我正在使用的代码
“FormFields(”Field1“)。Result = ActiveWorkbook.Sheets(”Sheet4“)。范围(”A2“)。值”
理想情况下,我需要一种方法,该方法适用于给定文件夹中的每个单词doc,标识电子表格中的相关行并相应地更新doc。单词docs被命名为Doc ID(电子表格中的第一列)。
答案 0 :(得分:0)
在Word中添加DocVariables。如果你不知道如何做到这一点,谷歌吧。然后,从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文档。