Excelで利用できるフォントの種類を確認する方法
Excelで利用できるフォントは、ホームタブ→フォント のコンボボックスを見ることで確認できます。
または、セルを右クリック→セルの書式設定→フォントタブ→フォント名 からも確認できます。
フォントの種類を取得するには
上記の通り、フォントの種類はリボンから選択します。
このリボンにある各種コマンドは、Application.CommandBars プロパティで取得することが出来ます。
その中でフォント関連は Formatting というコマンド名で定義されています。
フォントの種類の一覧を取得
以下のコードはシートのA1セルを基準として、それ以降にフォントの種類を出力する関数です。
フォント関連のコマンドは Application.CommandBars(“Formatting”) で定義されています。
フォントの種類のコンボボックスは Application.CommandBars(“Formatting”).Controls.Item(1) で参照できます。
ControlsプロパティにはItem 1~Item 19 程度の範囲でフォント関連の各プロパティが定義されています。
コードには書いていませんが、フォントサイズであれがItem(2)、太字であればItem(3)、などです。これらの種類は後述しています。
フォントの名前はItem 1で定義されているため、Item(1)としています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub GetFontNameList() Dim c As CommandBarComboBox '// フォントコンボボックス Dim i '// 連番 '// A1セルを基準として選択 Range("A1").Select '// フォントコンボボックスオブジェクトを取得 Set c = Application.CommandBars("Formatting").Controls.Item(1) For i = 1 To c.ListCount '// 番号 ActiveCell.Offset(i, 0).Value = i '// フォント名 ActiveCell.Offset(i, 1).Value = c.List(i) '// フォントの種類を設定 ActiveCell.Offset(i, 1).Font.Name = c.List(i) Next End Sub |
実行結果(抜粋)
フォントの各種プロパティ
フォントを構成する各種プロパティを取得するマクロです。
上のコードのItem(1)の数字が出力結果の数字と一致します。
Item(4)であれば斜体になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub GetFontTypeList() Dim c As CommandBarControl Dim i '// 連番 '// A1セルを基準として選択 Range("A1").Select i = 1 For Each c In Application.CommandBars("Formatting").Controls Debug.Print "Item(" & i & ") : " & c.Caption i = i + 1 Next End Sub |
実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Item(1) : フォント??(&F): Item(2) : フォント サイズ(&F): Item(3) : 太字??(&B) Item(4) : 斜体??(&I) Item(5) : 下線??(&U) Item(6) : 左揃え??(&L) Item(7) : 中央揃え??(&C) Item(8) : 右揃え??(&R) Item(9) : セルを結合して??中央揃え(&M) Item(10) : 通貨??表示形式(&A) Item(11) : パーセント ??スタイル(&P) Item(12) : 桁区切り??スタイル(&C) Item(13) : 小数点以下の??表示桁数を増やす(&I) Item(14) : 小数点以下の??表示桁数を減らす(&D) Item(15) : インデント解除??(&D) Item(16) : インデント??(&I) Item(17) : 罫線(&B) Item(18) : 塗りつぶしの色(&F) Item(19) : フォントの色(&F) |