使用できるフォントの一覧を出力する

文字を装飾する場合、様々なフォントの中から最も目的にあったものを見つけるのに苦労していませんか。一目で違いが分かるように、フォントの一覧とサンプルの文字列をワークシートに出力してみましょう。

Sub 使用できるフォントの一覧を出力する()
  Dim ctrlBox As CommandBarComboBox
  Dim i As Integer
  Cells.ClearContents
  With Application.CommandBars("Formatting")
    If Left(Application.Version, 1) = 9 Then
      Set ctrlBox = .Controls("フォント(&F):")       ' Excel2000の場合
    Else
      Set ctrlBox = .Controls("フォント(&F):")          ' Excel97の場合
    End If
  End With
  For i = 1 To ctrlBox.ListCount
    Cells(i, 1).Value = ctrlBox.List(i)
    Cells(i, 2).Value = "あいうえお01234ABCDEabcde"       ' サンプルの文字列
    Cells(i, 2).Font.Name = ctrlBox.List(i)
  Next i
  Columns("A:B").AutoFit
End Sub

書式設定コマンドバーのフォントを指定するコンボボックスから、フォントの名前を取得しています。Excel97の場合は新規のワークブックで実行してください。上記のプロシージャを連続で実行するとメモリ不足を起こすようです。セルに多種類のフォントが既に設定されているからでしょうか?