4

我有一个在我的 Word 文档中添加评论气球的程序,但我注意到它还添加了一个页码字段(通过选择评论气球并从上下文菜单中选择更新字段很明显)。这只发生在通过 VBA 添加评论时,而不是当我手动创建评论时。有没有办法可以禁止将页码添加到评论中?

代码摘录如下:

With Selection.Find
    .Text = "Approvals"
    .Forward = True
    .Execute

    If .Found = True Then
        Selection.Comments.Add Range:=Selection.Range, Text:="My comment text"
    End If
End With
4

2 回答 2

1

这是我用来删除这些页面字段的内容。在运行大量代码之后,就在End Sub我插入以下内容之前:

For Each f In ActiveDocument.StoryRanges(wdCommentsStory).Fields
    If f.Type = wdFieldPage Then
        f.Delete
    End If
Next

它可能不漂亮,但它可以完成工作。不幸的是,我认为没有办法根据评论作者进行过滤。

For Each c In ActiveDocument.Comments
   If c.Author = "Macro Name" Then 'Assuming you set it when you created the comment
        Debug.Print c.Range.Fields.Count 'This prints a 0
    End If
Next
于 2016-07-08T19:01:28.107 回答
0

如果您在注释中设置域代码,则在删除内容方面更具选择性。这旨在在您添加特定评论后立即运行。但是,您可以将类似的内容与上述内容结合起来处理所有评论。

If comment.range.fields.count > 0 Then
    If comment.range.fields.Item(1).Type = wdFieldPage Then
        comment.range.fields.Item(1).Delete
    End If
End If
于 2018-07-23T20:33:33.887 回答