【发布时间】:2013-02-23 15:36:24
【问题描述】:
我希望 Word 中的 查找 会根据我选择的文本自动填充其格式。 IE。如果我将光标放在 粗体和斜体 的文本上,我希望能够找到与此格式匹配的所有文本,而无需实际执行手动过程在 Find 对话框的 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
我可以在技术上使用它并完成。问题是它不是那么直观,因为很难看到它应用的格式,Find 字段下的逗号分隔列表永远不会结束,并且会用省略号切断窗口,从而无法阅读所有应用的格式:
所以,切入正题,我如何让 VBA 只更改与中性不同的格式选项,并剪切其余部分,即 无下划线、字体颜色:自动等。不应该在 Find 的 Format 中更改(使其复选框处于中性状态)?
此外,我如何调用 Find 对话框以打开所有这些设置而无需任何实际的查找执行(例如,我可以手动添加文本或根据需要更改任何格式)?
感激不尽。
【问题讨论】:
标签: vba formatting ms-word