1

我有一份文件,其中包含对长采访记录的评论。我在 SO 上找到了一个宏,可以让我突出显示的文本导出这些评论。这很棒,但输出非常枯燥(纯文本)。

我需要知道是否以及如何应用粗体、斜体和插入换行符。我已经找了一个小时了,因为我的 VBA 很糟糕,除了“marco 输出格式”的关键字搜索之外,我没有其他参考

有人知道如何对部分文本进行以下脚本和字体更改吗?

Sub ExportComments()
    Dim s As String
    Dim cmt As Word.Comment
    Dim doc As Word.Document

    For Each cmt In ActiveDocument.Comments
        s = s & "Text: " & cmt.Scope.FormattedText & " -> "
        s = s & "Comments: " & cmt.Initial & cmt.Index & ":" & cmt.Range.Text & vbCr
    Next

    Set doc = Documents.Add
    doc.Range.Text = s
End Sub

也许我可以用 Word 解释的 HTML 来做到这一点?

4

1 回答 1

1

我假设您想要包含的格式已经在评论文本中,并且您只是在寻找一种将其纳入最终文档的方法。这是您的脚本的修改版本,可以做到这一点(有一个警告,如下所列):

Sub ExportComments()
Dim cmt As Comment
Dim newdoc As Document
Dim currDoc As Document

Set currDoc = ActiveDocument
Set newdoc = Documents.Add
currDoc.Activate
For Each cmt In currDoc.Comments
    With newdoc.Content
        cmt.Scope.Copy
        .InsertAfter "Text: "
        .Collapse wdCollapseEnd
        .Paste
        .InsertAfter " - > "
        cmt.Range.Copy
        .InsertAfter "Comments: " & cmt.Initial & cmt.Index & ":"
        .Collapse wdCollapseEnd
        .Paste
        .InsertParagraphAfter
    End With
Next

End Sub

这里的不同之处在于我使用的是复制和粘贴,而不是生成文本字符串。

警告:由于现在编写宏,Scope 中的任何字符格式(出现在文件中 Text 旁边的文本)也将应用于箭头和首字母。这很容易通过搜索和替换来修复,所以我没有将它合并到脚本中。

于 2013-05-07T14:45:53.240 回答