我希望 Word 中的“查找”会根据我选择的文本自动填充其格式。即,如果我将光标放在粗体和斜体的文本上,我希望能够找到与此格式匹配的所有文本,而无需在Format -> Font窗口中实际执行手动选择这些格式的过程查找对话框。
在 Word 的宏录制功能的帮助下,我找到了一个可行的解决方案:
Sub FindFormat()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Font
.Size = Selection.Font.Size
.Bold = Selection.Font.Bold
.Italic = Selection.Font.Italic
.Underline = Selection.Font.Underline
.StrikeThrough = Selection.Font.StrikeThrough
.DoubleStrikeThrough = Selection.Font.DoubleStrikeThrough
.Hidden = Selection.Font.Hidden
.SmallCaps = Selection.Font.SmallCaps
.AllCaps = Selection.Font.AllCaps
.Color = Selection.Font.Color
.Superscript = Selection.Font.Superscript
.Subscript = Selection.Font.Subscript
End With
End Sub
我可以在技术上使用它并完成。问题是它不是那么直观,因为很难看到它已应用的格式,“查找”字段下的逗号分隔列表永远不会结束,并且会用省略号切断窗口,从而无法读取所有应用的格式:
因此,切入正题,我如何让 VBA 只更改与中性不同的格式选项,并剪切其余部分,即No Underline、Font color: Auto等不应在Find的格式中更改(使其复选框处于中性状态)?
此外,如何调用“查找”对话框以打开所有这些设置而无需任何实际的查找执行(例如,我可以根据需要手动添加文本或更改任何格式)?
带着赞赏。