1.“占位符”书签(Placeholder
Bookmarks),即在文档中单击某处,然后插入的书签。2.“封闭”书签(Enclosing
Bookmarks),即选择某文本后插入的书签。有几种将文本插入到书签处的方法。使用的方法取决于后面是否要从书签处获取文本。 ActiveDocument.Bookmarks('完美Excel').Range.Text = 'excelperfect' 即,在书签“完美Excel”处插入文本“excelperfect”。在这种情形下,如果是“占位符”书签,则会在书签处插入文本;如果是“封闭”书签,则在书签位置插入文本的同时会删除书签。ActiveDocument.Bookmarks('完美Excel').Range.InsertAfter '公众号' ActiveDocument.Bookmarks('完美Excel').Range.InsertBefore '微信' 在这两种情形下,如果是“占位符”书签,则会在书签后插入文本;如果是“封闭”书签,则会在书签位置之后或之前插入文本。strBookmark = ActiveDocument.Bookmarks('完美Excel').Range.Text 如果想将文本插入“占位符”书签(使其成为“封闭”书签),以便以后可以从中获取文本,该怎么办?如果书签已经是“封闭”书签,想替换其中的文本,该怎么办?VBA中没有可以实现这种要求的命令,需要做的是用插入的文本替换书签(此时书签会被删除),然后再围绕插入的文本重新创建书签。示例代码如下:Dim BookmarksRange As Range Set BookmarksRange = ActiveDocument.Bookmarks('完美Excel').Range BookmarksRange.Text = '666' ActiveDocument.Bookmarks.Add Name:='完美Excel', Range:=BookmarksRange 如果文档中有许多书签需要更新,那么上述代码会反复重复,因此最好的方案是将其作为带有参数的子程序供主程序调用,代码如下所示:Sub UpdateBookmark(BookmarkToUpdate As String, TextToUse As String) Dim BookmarksRange As Range Set BookmarksRange = ActiveDocument.Bookmarks(BookmarkToUpdate).Range BookmarksRange.Text = TextToUse ActiveDocument.Bookmarks.Add BookmarkToUpdate, BookmarksRange End Sub
UpdateBookmark “书签名”, ”要插入的文本”
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
|