首页 > 解决方案 > Comment.Add in Word VBA (2019) 在向评论中添加文本时不一致

问题描述

上下文:我正在使用 Word 2019(Office 365 订阅,如果这很重要)。我在我的评论功能区中添加了一系列按钮,每个按钮都用于为某些文本创建特定的评论。(写作老师。我做了很多重复的评论。)

每个注释宏的结构如下:

Sub AddSomeComment()
   Dim someComment As String
   someComment = "Long explanation of some revision recommendation."

   ActiveDocument.Comments.Add Range:=Selection.Range, Text:=someComment
End Sub

问题:总是添加评论气球,但经常留空。在某些文档上,每条评论都有效(可能是 1/10)。在其他人上,第一条评论将起作用,但所有其他评论将留空。大多数文档不会将文本放入注释中。所有文档在评论之前都保存为 docx。

我曾多次尝试调试和重写代码。我在每条评论中都硬编码了字符串并得到了相同的结果。我尝试使用 MsgBox() 来验证 someComment 中有一个字符串(确实如此)。

标签: vbams-word

解决方案


我不知道它为什么会这样。也许存在“竞争”条件(文本在创建之前发送到评论)。

像这样尝试:创建评论并在创建后分配文本。(注意:我在移动设备上,所以无法测试语法错误)

Sub AddSomeComment()
   Dim cmt as Comment
   Dim someComment As String

   someComment = "Long explanation of some revision recommendation."    
   Set cmt = ActiveDocument.Comments.Add Range:=Selection.Range
   cmt.Range.Text = someComment
End Sub

推荐阅读