如何*取消*突出显示所选文本?

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

之前的问题描述了如何使用

.Font.Highlight
TextRange2
来突出显示所选文本。

如何删除突出显示?

特别是以下任一...

ActiveWindow.Selection.TextRange2.Font.Highlight.RGB = 0

ActiveWindow.Selection.TextRange2.Font.Highlight = 0

...导致黑色突出显示而不是不突出显示。

使用

False
msoFalse
代替零具有相同的效果。似乎没有布尔开关来打开或关闭突出显示(如 Word 中那样),并且找不到任何类型的支持文档。

vba powerpoint
2个回答
0
投票

在 PowerPoint 2019 和 365 中,可以使用 Application.CommandBars.ExecuteMso 方法来删除突出显示。看到这个问题:

取消突出显示文本(并保留所有其他字体设置)


0
投票

感谢阿列克谢·马洛夫。

如果文本与突出显示选择器具有相同的突出显示颜色,我们只需运行 MSO 命令一次。 但是,如果所选文本的突出显示颜色与当前突出显示颜色不同,我们应该运行 MSO 命令两次。

Set tr = ActiveWindow.Selection.TextRange2
'Highlight once
CommandBars.ExecuteMso ("TextHighlightColorPickerLicensed")
'Select the textrange again
tr.Select
'finally, unhighlight the textrange
CommandBars.ExecuteMso ("TextHighlightColorPickerLicensed")

问题是我们无法识别当前ribbon上的高亮颜色。(也许有办法但不简单)

我的解决方法只是使用快捷键序列:

 SendKeys "%(htcn)"

Alt-'h'、'tc' 和 'n'

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