前回は検索ツールをアドイン化してGUIアプリの様に操作できるようにしました(前回の記事)。今回からはプレゼンテーション内のフォントを変更するツールを作ります。まずはコンボボックスと言う三角ボタンをクリックすると設定内容がズラッと表示される機能を実装します。
コンボボックスの使い方手順
フォント変更は標準機能で変更できますが、数が多くて探すのが大変です。本ツールではよく使う書体を予め登録しておいて使いやすくします。
仕様についてですが、コンボボックスでフォントを選び、変更範囲をラジオボタンで選択決定後に実行ボタンを押すとフォントが変わるという内容にします。
まずは以下の手順でコンボボックスをレイアウトし、UserForm1のコードエディタを開きます。

コンボボックスの内容を表示
現段階でコンボボックス内には何も書かれていないので、関数を作り僕が良く使用するフォント「Meiryo UI」,「MS ゴシック」を表示させます。関数は標準モジュール1に以下の様に書きます。
'VBA標準モジュール
Option Explicit
'コンボボックスにフォントを設定
Public Sub setFontItems()
Dim Items As String
With UserForm1
.cmB_font.Clear 'コンボボックス内初期化
Items = "Meiryo UI,MS ゴシック" '内容を文字列化
.cmB_font.List = Split(Items, ",") 'カンマで区切る
End With
End Sub
UserForm1のコードエディタに以下コードを記載し、UserForm1が起動する際にコンボボックスの設定が反映されます
'VBAユーザーフォーム
Option Explicit
'ユーザーフォーム起動時の処理
Public Sub UserForm_Initialize()
Call setFontItems
End Sub
コントロールを配置し終えたら実行してみましょう。コンボボックスを選択すると「Meiryo UI」,「MS ゴシック」が表示されます。今後新しくコンボボックス内の内容を増やしたい場合、例えばMS 明朝を増やすのであればItems = “Meiryo UI,MS ゴシック,MS 明朝”の様にカンマを付けてItemの文字列に追加していけばコンボボックス内は勝手にMS 明朝が追加されます。ただしフォントの文字は正しく入力しないとフォントが変更されないので、パワポ内のフォント設定箇所からコピーすると間違えを防げます。(以下資料参照)

次回はコンボボックスのイベントを作ります。