我已经有以下代码删除下面的段落和完全黑体的段落(即在副标题后清除空白行)。我一直在尝试对其进行修改,以创建另一个宏,该宏将每个粗体字符的字体大小增加4点。
Dim para As Paragraph
Dim searchRange As Range
Set searchRange = Selection.Range
searchRange.End = ActiveDocument.Content.End
For Each para In searchRange.Paragraphs
If para.Range.Font.Bold = True Then para.Next.Range.Delete
Next para
这是我试图做的,但是在下面突出显示的“范围”中不断出现“未找到方法或数据成员”错误,而且我对VBA不够了解,无法知道实际的问题是什么。我可以不使用字符搜索文档中的每个字符吗?字符的作用与段落不同吗?
Dim char As Character
Dim searchRange As Range
Set searchRange = Selection.Range
searchRange.End = ActiveDocument.Content.End
For Each char In searchRange.Paragraphs
If char.Range.Font.Bold = True Then
char.Font.Size = char.Font.Size + 4
Next char
我不喜欢有关搜索范围的知识,我很高兴它能从游标到末尾进行搜索,或者只是搜索整个文档,我只是复制了其他代码以尝试增加搜索范围工作正常!
您不需要VBA。查找并替换将完成此工作。设置查找内容以当前文本的大小搜索粗体格式,然后将替换为设置为大4点的大小。即使您有几种不同的文本大小,运行查找和替换多次也比编写宏更快。
“下面的突出显示范围”:没有突出显示,我们只能猜测这是哪一行代码,但我猜它是For Each
。
尝试使用searchRange.Characters
。
For Each char In searchRange.Characters
A Character
是not a Paragraph
,因此不可能像问题中一样使用For Each
。