在较旧的Word版本中(较旧的版本,如Windows 2中的Word),有一项功能使您可以在系统上快速打印字体列表。不幸的是,情况已不再如此。但是,您可以轻松地创建一个宏,该宏可以将这样的列表放在一起:

Sub ListFontNames()

Dim J As Integer     Dim NewDoc As Document

' Create a new document     Set NewDoc = Documents.Add

' Add font names to document     For J = 1 To FontNames.Count         Selection.TypeText (FontNames(J))

Selection.TypeParagraph     Next J End Sub

宏会创建一个新文档,然后简单地浏览FontNames集合,并将每个名称添加到文档中。宏的运行速度取决于您在系统上安装了多少种字体。

如果您需要更详细的说明,可以使用以下宏。它创建一个文档,但随后将所有字体名称放入表中。在表的第二列中,它提供了字体的格式化样本。

Sub FontExamples()

Dim J As Integer     Dim F As Integer     Dim sTemp As String     Dim sTest As String     Dim Continue As Integer     Dim rng As Range     Dim FontTable As Table     Dim NewDoc As Document

' Specify the sample text for second column     sTest = "ABCDEFG abcdefg 1234567890"



' Check to see if the user wants to proceed     F = FontNames.Count     sTemp = "There are " & F & " fonts on this system."

sTemp = sTemp & "Building the document may take quite a while."

sTemp = sTemp & "Do you want to continue?"

Continue = MsgBox(sTemp, vbYesNo, "Build Font List")



If Continue = vbYes Then         ' Put together a string that contains the table contents         sTemp = "Font Name" & vbTab & "Font Example"

For J = 1 To F             sTemp = sTemp & vbCr & FontNames(J) & vbTab & sTest         Next J

' Create a new document         Set NewDoc = Documents.Add

' Add string contents and convert to table         Set rng = Selection.Range         rng.Text = sTemp         Set FontTable = rng.ConvertToTable(Separator:=vbTab, _           AutoFitBehavior:=wdAutoFitFixed)



' Set general table properties         With FontTable             .Borders.Enable = False             .Range.Font.Name = "Arial"

.Range.Font.Size = 10             .Rows(1).Range.Font.Bold = True             .Rows(1).Range.Font.Size = 12         End With

' Go through the sample cells and format them         For J = 1 To F             FontTable.Cell(J + 1, 2).Range.Font.Name = FontNames(J)

Next J

' Sort the table         FontTable.Sort SortOrder:=wdSortOrderAscending     End If End Sub

这个宏比上一个宏做的更多。该表本身的创建速度相当快,但是要花费大量时间逐步浏览每个示例单元格并使用适当的字体对其进行格式化。这就是为什么宏可以在继续操作之前让您知道系统上有多少种字体的原因。

无论选择使用哪个宏,最终都会得到系统的完整字体列表。然后,您可以打印出来并在使用Word时将其放在方便的位置。

注意:

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

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