Word宏添加评论,编辑评论

时间:2016-05-23 12:46:30

标签: vba ms-word word-vba

我有一个简单的Word宏来为所选文本添加新评论:

Dim cmtMyComment As Comment
Set cmtMyComment = Comments.Add(Selection.range, "abc")

Debug.Print cmtMyComment.Index & ". " & Selection.range.Start & " - " & Selection.range.End
Debug.Print cmtMyComment.range.Start & " - " & cmtMyComment.range.End

和Word文档在一个页面上有很多评论:

enter image description here

在页面底部选择一些文本并运行此宏后,它运行良好。我的评论被添加为评论文本的最后一个" abc"评论指数38.

调试输出:

38. 1099 - 1107
1265 - 1268

当我右键点击最后评论的文字范围并选择"编辑评论" (= Upravit komentar)它显示编辑评论的窗口。

关闭编辑窗口后,我尝试在底部选择新文本并运行我的宏。新评论会添加到所选位置,但没有文字 - 它只是一个空评论。注释的文本将附加到页面的第一个注释。所以现在每个新注释都是空的,文本被附加到第一个注释的开头(注释索引现在是1)。

调试输出:

1. 1003 - 1011
1 - 17

enter image description here

我有MS Word 2016.直到我在编辑窗口中添加注释而不编辑注释,我的宏才能正常工作。

在编辑窗口中编辑注释后是否有解决方法添加注释?

1 个答案:

答案 0 :(得分:1)

我有类似的事情,但在2010年有脚注。

我怀疑它是在评论窗格中选择文本而不是文档正文。让宏确保修订版窗格已关闭。

ActiveDocument.ActiveWindow.View.SplitSpecial = wdPaneNone

同时将Comments加上Selection前缀,这有助于您调试问题。

Set cmtMyComment = Selection.Comments.Add(Selection.range, "abc")