我有一个 VBA 应用程序,它生成一个名为 document1 的文档。
我可以运行该应用程序一次。如果我保持 document1 打开并下次运行应用程序(正在生成 document2),我将面临以下错误,
代码中突出显示的书签strBookmark存在。
当您替换书签的文本时,Word 通常会破坏书签。当您选择书签并使用 .TypeText 替换其文本时,情况肯定如此。
因此,您必须重新创建书签,否则如果您将文档保持打开状态(如本例所示),下次您将收到错误。
您可以在此处进行的最简单的更改就是执行此操作
docThisDoc.Bookmarks(strBookmark).Select
Selection.Text = strData
Selection.Bookmarks.Add(strBookmark)
使用 .TypeText 的问题是 Selection 会移动,最终会出现在文本的末尾,因此 Selection.Bookmarks.Add 会在错误的位置创建书签。