
使用中のパソコンのExcelで使えるフォントの一覧が見たかったのでExcel VBAでマクロを作ってみました。
フォント名一覧を作成するサンプルマクロ
以下のマクロを実行すると、アクティブブックの先頭にワークシートが挿入されて、フォントの名前とサンプル文字列を一覧として見られます。
Const TXT = "あいうえおわをん~永〇◎●◆★ 12345 #$%&@^-=_ abcdefg ABCDEFG"
Sheets.Add Before:=Sheets(1)
Columns("B").Font.Size = 20
Dim i As Long
With Application.CommandBars("Formatting").Controls(1).Control
For i = 1 To .ListCount
Cells(i, "A").Value = .List(i)
Cells(i, "B").Value = TXT
Cells(i, "B").Font.Name = .List(i)
Next
End With
Columns("A:B").AutoFit

サンプルマクロで行っている処理
主たる処理は以下の部分です。
Dim i As Long
With Application.CommandBars("Formatting").Controls(1).Control
For i = 1 To .ListCount
Cells(i, "A").Value = .List(i)
Cells(i, "B").Value = TXT
Cells(i, "B").Font.Name = .List(i)
Next
End With
Office.CommandBarControlオブジェクトの(非表示メンバーである)Controlプロパティを使うと、

コンボボックスの場合にはCommandBarComboBoxオブジェクトが取得できます。

With Application.CommandBars("Formatting").Controls(1).Control
取得したCommandBarComboBoxオブジェクトに用意されているListCountプロパティを使って取得できる、

フォントコンボボックスに表示されている項目数だけFor~Nextループを回して、
For i = 1 To .ListCount
A列にCommandBarComboBox.Listプロパティで取得できるフォント名を、

B列には定数TXTに格納しておいたサンプル文字列をそれぞれ出力し、B列にはフォントの設定を行っています。
Cells(i, "A").Value = .List(i) Cells(i, "B").Value = TXT Cells(i, "B").Font.Name = .List(i) Next
Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » フォント名一覧を作成するExcelマクロ
『インストラクターのネタ帳』では、2003年10月からMicrosoft Officeの使い方などを紹介し続けています。










