我有一个单词文档,是采访记录。主持人评论以粗体显示,而受访者评论则不以粗体显示。这是粗体和非粗体文本的长期连续运行。我需要添加回车符,以便主持人和受访者的问题之间有一个空白行。我在下面找到了在特定文本之间插入回车符的代码,但是我不知道如何更改它以在粗体和非粗体文本之间插入。任何帮助将不胜感激!
Sub Test()
ActiveDocument.Paragraphs(1).Range.Text = "Foo" & Chr(11) & "Bar"
End Sub
答案 0 :(得分:0)
这是我想出的,它使用一个子项在粗体文本后插入一个换行符,然后调用另一个子体对非粗体文本执行相同的操作。我使用了常量'vbCrLf',它代表Visual Basic回车换行,它等于Chr(13)+ Chr(10),并且我认为在文档中插入换行符时,这是兼容性的最佳做法, Chr(11)。
Sub InsertBreakAfterBold()
'Select entire document
Selection.WholeStory
'Make each .Method belong to Selection.Find for readability
With Selection.Find
'Set search criteria for bold font
.Font.Bold = True
'Find next occurrence
.Execute
'Each time bold text is found add a line break to the end of it then find the next one
Do While .Found
Selection.Text = Selection.Text + vbCrLf
.Execute
Loop
End With
'Repeat process for nonbold text
Call InsertBreakAfterNonbold
End Sub
Sub InsertBreakAfterNonbold()
Selection.WholeStory
With Selection.Find
.Font.Bold = False
.Execute
Do While .Found
Selection.Text = Selection.Text + vbCrLf
.Execute
Loop
End With
End Sub
Microsoft的VBA参考是我做到这一点的最大资源:https://docs.microsoft.com/en-us/office/vba/api/overview/word