插入多个书签位置 – Excel VBA

我正在使用一个Excelmacros,我将相同的文本插入Word文档中的几个书签。 我怎么能通过指定插入命令一次,并将其应用到所有的书签位置?

现在我正在为所有书签做以下事情?

Dim monYear As String monYear = Format(DateAdd("m", -1, Now), "mmmm yyyy") wdApp.Selection.GoTo what:=-1, Name:="Front_Page_Month_Year" wdApp.Selection.TypeText monYear wdApp.Selection.GoTo what:=-1, Name:="Page2_Month_Year" wdApp.Selection.TypeText monYear 

并继续…

没有办法使用单个命令来写入多个书签位置。 但是,您可以执行的操作是引用一个书签位置,以便在多个位置显示该书签的内容。

创build书签,然后在要显示书签内容的每个位置插入一个交叉引用 。 (或创build一个交叉引用,然后复制/粘贴到其他位置。)

代码提示:使用Selection对象的方法不是最优的。 和在Excel中一样,最好使用对象模型,而不是依靠select。 从而:

 Dim doc as Word.Document Set doc = wdApp.ActiveDocument 'Note: if you're opening a document, set in the Open method doc.Bookmarks("Front_Page_Month_Year").Range.Text = monYear 'When you're done, update the REF fields (references) doc.Fields.Update