如果第二次运行代码,编辑书签会引发运行时错误 5941

问题描述 投票:0回答:1

我有一个 VBA 应用程序,它生成一个名为 document1 的文档。

我可以运行该应用程序一次。如果我保持 document1 打开并下次运行应用程序(正在生成 document2),我将面临以下错误,

单击“调试”后,它会突出显示以下代码,

代码中突出显示的书签strBookmark存在。

vba ms-word runtime-error bookmarks
1个回答
1
投票

当您替换书签的文本时,Word 通常会破坏书签。当您选择书签并使用 .TypeText 替换其文本时,情况肯定如此。

因此,您必须重新创建书签,否则如果您将文档保持打开状态(如本例所示),下次您将收到错误。

您可以在此处进行的最简单的更改就是执行此操作

docThisDoc.Bookmarks(strBookmark).Select
Selection.Text = strData
Selection.Bookmarks.Add(strBookmark)

使用 .TypeText 的问题是 Selection 会移动,最终会出现在文本的末尾,因此 Selection.Bookmarks.Add 会在错误的位置创建书签。

© www.soinside.com 2019 - 2024. All rights reserved.