在VBA中很直接
Sub BoldFirstLetterInSentence()
Dim ad As Document
Set ad = ActiveDocument
Dim sen As Range
For Each sen In ad.Sentences
sen.Words.First.Characters.First.Font.Bold = True
/* sen.Words(1).Characters(1).Font.Bold = True also works */
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
这可以通过 Word 内置的高级查找+替换来完成。您需要指定一个通配符匹配表达式(例如此表达式)来选择句子分隔符和空格后面的第一个字符:
[\.\?\!] ?
Run Code Online (Sandbox Code Playgroud)
您可以指定如何在同一 UI 中设置找到的每个字符的样式(严格来说不是查找/替换 - 您可以查找/样式)。请注意,上面的表达式将同时生成每个句子的第一个字符和前面的 ?/!/。大胆的。您可以通过再次搜索标点符号并取消粗体来纠正此问题。
请参阅本指南: http: //www.gmayor.com/replace_using_wildcards.htm
我知道,程序化程度不高,但比深入研究 VBA 快得多。
| 归档时间: |
|
| 查看次数: |
8148 次 |
| 最近记录: |