如何使文档中每个粗体字符的字体大4点

问题描述 投票:0回答:2

我已经有以下代码删除下面的段落和完全黑体的段落(即在副标题后清除空白行)。我一直在尝试对其进行修改,以创建另一个宏,该宏将每个粗体字符的字体大小增加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 ms-word word-vba
2个回答
0
投票

您不需要VBA。查找并替换将完成此工作。设置查找内容以当前文本的大小搜索粗体格式,然后将替换为设置为大4点的大小。即使您有几种不同的文本大小,运行查找和替换多次也比编写宏更快。


0
投票

“下面的突出显示范围”:没有突出显示,我们只能猜测这是哪一行代码,但我猜它是For Each

尝试使用searchRange.Characters

For Each char In searchRange.Characters

A Characternot a Paragraph,因此不可能像问题中一样使用For Each

© www.soinside.com 2019 - 2024. All rights reserved.