Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » フォント名一覧を作成するExcelマクロ

フォント名一覧を作成するExcelマクロ

動作検証バージョン:動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2501(ビルド18429.20132クイック実行)

使用中のパソコンのExcelで使えるフォントの一覧が見たかったのでExcel VBAでマクロを作ってみました。

[スポンサードリンク]

フォント名一覧を作成するサンプルマクロ

以下のマクロを実行すると、アクティブブックの先頭にワークシートが挿入されて、フォントの名前とサンプル文字列を一覧として見られます。

Sub フォント名一覧を作成する()

 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

End Sub

サンプルマクロで行っている処理

主たる処理は以下の部分です。

 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マクロ

「マクロのサンプル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.