我有一份文件,对长篇采访记录发表评论。我found a Macro on 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来做到这一点?
答案 0 :(得分: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旁边显示的文本)也将应用于箭头和首字母。通过搜索和替换很容易解决,因此我没有将其合并到脚本中。