Vba 高亮显示文本的自定义RGB颜色值

Vba 高亮显示文本的自定义RGB颜色值,vba,ms-word,Vba,Ms Word,是否可以指定一个RGB对象作为Word中高亮显示文本的颜色 我知道你可以做到: Selection.Range.HighlightColorIndex = wdYellow 但是有没有类似的地方,我可以选择我想要的特定颜色,而不是选择word提供的16个默认值中的一个?您可以使用着色: With Selection.Font.Shading .Texture = wdTextureNone .ForegroundPatternColor = wdColorAutomatic .Backgrou

是否可以指定一个RGB对象作为Word中高亮显示文本的颜色

我知道你可以做到:

Selection.Range.HighlightColorIndex = wdYellow

但是有没有类似的地方,我可以选择我想要的特定颜色,而不是选择word提供的16个默认值中的一个?

您可以使用着色:

With Selection.Font.Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic
.BackgroundPatternColor = RGB(255, 0, 0)
End With

我知道着色可以是一个选项,但效果不一样(例如:如果要高亮显示表格中的文本,它将对整个单元格应用着色)

因此,当我想使用自定义颜色高亮显示时,我会这样做(至少在Word 2007上,还没有尝试过更新的版本):

转到着色工具,从“更多颜色”中选择自定义颜色,然后应用。它将应用阴影,因此使用Ctrl+Z将其撤消。选择要高亮显示的文本,单击高亮显示工具,自定义颜色现在将作为“最近使用的颜色”提供:


使用着色而不是高亮显示为颜色提供了更多的选项,但有两个缺点:无法用高亮显示的方式搜索和替换着色,而且使用它比高亮显示更笨拙,因为您必须在每个文档中创建所需的颜色。但是,这两个问题可以通过以下方式解决:

一般来说,Word 2016就是您要做的:

在空白文档中,单击“常用”选项卡“样式”区域上的向下箭头以显示“样式”菜单。这对于使此功能更加友好非常重要

在“样式”菜单的底部,单击“新建样式”图标。基于(基础属性)创建新的角色样式,该属性位于“基于样式”列表的顶部。给它一个描述性的标题,例如蓝色底纹。单击对话框底部的“格式”按钮,选择“边框”,然后选择“着色”选项卡。在左侧的“填充”下,创建所需的颜色阴影,然后在右侧,确保它适用于文本。其他内容留空。单击OK和OK

现在,您将在“样式”菜单中看到一个蓝色着色字符样式。要使用它,只需选择想要有蓝色背景的文本,然后单击蓝色底纹样式

创建剩余的角色样式,直到有足够的不同色调(浅绿色、淡紫色、粉色、桃红色、黄色、棕褐色等)。重要提示:确保以相同的方式创建角色样式,但将其称为“无着色”,并不对填充应用任何颜色

通过这种方式创建角色样式的好处是,您只能创建一次颜色,将样式导入Normal.dotm模板,并使其可用于所有文档。您还可以搜索一种字符样式并将其替换为另一种。您甚至可以搜索一个阴影,并将其替换为“无”


请注意,“无着色”的字符样式与“无颜色高亮显示”的字符样式不同。如果有着色的彩色文本,并且应用了“无着色”样式,则不幸的是,彩色文本将恢复为自动颜色(黑色)。因此,红色文本将变为黑色。(没有帮助。)

您可以使用着色,这也适用于表格和没有VBA的情况

选项1:设置所选文本的格式

  • 选择文本
  • 转到“主页”选项卡、“段落”部分、“边框”菜单,然后选择“边框和底纹…”
  • 转到“着色”选项卡
  • 选择“填充”颜色
  • 将“应用于:”设置为“文本”
  • 选项2:创建基于角色的样式

  • 使用热键[Alt]+[Ctrl]+[Shift]+[s]
  • 选择+按钮以创建新样式
  • 选择“样式类型:字符”
  • 转到“格式”和“边框”
  • 转到“着色”选项卡
  • 选择“填充”颜色
  • 将“应用于:”设置为“文本”

  • 对我来说已经足够好了:)为什么它在
    Selection.Font.ColorIndex=RGB(0,204,255)
    中失败,并给出运行时错误(在执行宏时):
    传递给此方法或属性的值之一超出范围。
    ColorIndex
    Color
    不同-您可以从
    RGB()分配结果
    到后者,但通常不是前者。哦,完成了!!!我不知道有
    .Color
    。不是普通的宏/VBA程序员。。。对于希望以Word常规用户身份执行此操作而无需任何脚本/编码的任何人:在表中,选择选项apply to text。