You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Word的ReinsertComments宏仅重新插入指定作者批注?

针对Word批注重新插入宏的问题解答

问题1:是否可以按作者指定要重新插入的批注?

完全可以,通过判断批注的Author属性就能筛选特定作者的批注,只对符合条件的执行重新插入操作。

问题2:是否可通过If/Then语句指定目标用户名?

当然可以,你提到的If myComment.Author = "Jane" Then这类语句完全可行,直接匹配批注作者的用户名即可。

问题3:If/Then和End If部分的插入位置

需要把删除原批注并重新插入的逻辑包裹在判断语句里,具体是在Set myComment = ActiveDocument.Comments(i)之后,Next i之前。


修改后的完整宏代码

Sub CommentsReinsert()

Dim myComment As Comment
Dim myComText As String
Dim comStart
Dim comEnd
Dim i

On Error GoTo Done
Application.ScreenUpdating = False

If ActiveDocument.TrackRevisions = True Then
With ActiveDocument
.TrackRevisions = False
End With
End If

For i = ActiveDocument.Comments.Count To 1 Step -1
Set myComment = ActiveDocument.Comments(i)
' 在这里添加判断语句,替换成你要筛选的用户名
If myComment.Author = "Jane" Then
    myComText = myComment.Range.Text
    comStart = myComment.Scope.Start
    comEnd = myComment.Scope.End
    myComment.Reference.Select
    myComment.Delete
    ActiveDocument.Range(comStart, comEnd).Select
    ActiveDocument.Comments.Add _
    Range:=Selection.Range, Text:=myComText
End If ' 结束判断
Next i

ActiveWindow.ActivePane.Close
Application.ScreenUpdating = True
Done:

End Sub

说明

  • 把代码里的"Jane"替换成你实际要筛选的作者用户名即可
  • 原宏采用倒序遍历批注的逻辑(从Count到1),能避免因删除批注导致的索引错乱问题,这个逻辑可以保留使用

内容的提问来源于stack exchange,提问作者Figgie10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 13:00:56