使用中のパソコンの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マクロ