Derek需要一种在下次更改字体(字体名称)时在文档中查找的方法。例如,如果插入点在文档的中间,他希望Word从该点开始,在该点发生下一次更改。德里克(Derek)想知道是否有办法完成这项任务。

尽管您可以直观地知道何时更改了字体,但是没有内置的方法可以完成此任务。我通常可以通过简单地增加文档的缩放比例(例如,将缩放比例提高到200%或250%)来判断,然后通过视觉方式扫描文档以查找外观变化。当然,这将取决于两个相邻字体之间的视觉差异。

如果您喜欢基于宏的解决方案,则可以创建一个将字体名称保存在当前插入点位置的解决方案,然后逐步浏览文档的每个剩余字符。如果字体与原始字体不同,则可以通知用户。这是此类宏的示例:

Sub ChangeOfFont()

Dim fntName As String     Dim aRange As Range

Set aRange = Selection.Range     aRange.Collapse Direction:=wdCollapseStart     aRange.MoveEnd Unit:=wdCharacter     fntName = aRange.Font.Name     Do         aRange.MoveEnd Unit:=wdCharacter         aRange.MoveStart Unit:=wdCharacter     Loop Until aRange.Font.Name <> fntName Or _       aRange.Bookmarks.Exists("\EndOfDoc")

aRange.Select     If aRange.Bookmarks.Exists("\EndOfDoc") Then         MsgBox "End of document"

Else         MsgBox "Font change from " & fntName & " to " & aRange.Font.Name     End If End Sub

大部分工作都在Do循环中完成,在该循环中,将检查每个字符的字体以查看其是否已更改。请注意,循环还会检查是否到达了文档的结尾,这时您希望宏停止。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(5131)适用于Microsoft Word 2007、2010、2013和2016。