【PR】 ワードマクロの実行方法

ワードマクロの実行ボタンをリボンに登録する【図解】

2024-12-25

アイキャッチ画像

こんな方におすすめ

  • どのワード文書内からもワンクリックでマクロを呼び出したい

この記事では、ワードマクロ(Word VBA)の実行ボタンをワード文書のリボンに追加する方法を紹介します。

マクロを簡単に呼び出したい方におすすめです。

この記事のステップを実施すると、どのワード文書を開いても、マクロ実行ボタンがリボン上に表示され、簡単にマクロを呼び出せるようになります。

以下のイラストのように、リボン上にタブグループ、及びマクロ実行ボタンが表示されます。

リボン上にタブ、グループ、及びマクロ実行ボタンが表示されている状態
最も単純な例です

これによって、どのワード文書からも、マクロをワンクリックで呼び出せるようになります

この方法を応用すると、以下のようにアイコンを表示させることも可能です。

リボン上のマクロ実行ボタンの上に大アイコンが表示されている状態

また、以下のように、1つのタブの中に複数のグループを作成し、各グループ内に複数のマクロ実行ボタンを作ることもできます。

1つのタブの中に複数のグループが作成され、各グループ内に複数のマクロ実行ボタンが表示されている状態

リボン上ではなく、以下のイラストのように、クイックアクセスツールバー上にマクロ実行ボタンを作成する方法については、別の記事をご参照ください。

クイックアクセスツールバー上にマクロ実行ボタンが表示されている状態

それでは、この記事の内容に入ります。

全体の流れ

この方法の全体の流れを最初に示します。

この方法のステップは、大きく分けると4つです。

step
01
マクロ入りのdotmファイルを作成する

step
02
customUI.xmlファイルを作成する

step
03
dotmファイル中へのcustomUI.xmlの配置と.relsファイルの編集を行う

step
04
ワードのスタートアップフォルダに完成dotmファイルを配置する

各ステップについて、以下に説明します。

各ステップの手順

メッセージ表示マクロを例にして、各ステップを説明します。

ステップ01:マクロ入りのdotmファイルを作成する

最初に、以下の手順で、マクロを含むdotmファイルを作成します。

開いているワードファイルがあれば、すべて閉じます

.「Win」キーを押しながら、「R」キーを押します

キーボード上の「Win」と「R」の位置

2.左下に表示される入力ボックスに「winword」と入力してから、OKボタンを押します

「ファイル名を指定して実行」の入力ボックスに「winword」と入力した状態

OKボタンを押すと、ワードが新規に起動します。

3.新規」→「白紙の文書」をクリックします

ワードの起動画面で「新規」→「白紙の文書」を選ぶ様子

.開いたワードファイル上で「Alt」キーを押しながら「F11」キーを押します

キーボード上の「Alt」キーと「F11」キーの位置

以下のような画面が開きます

vbaエディタの起動画面

5.挿入」(以下のイラストの赤丸部分)をクリックして表示されるメニューから「標準モジュール」を選択します

vbaエディタの起動画面で「挿入」を選ぶ様子
Visual Basic Editor上で標準モジュールを挿入する手順

以下のイラストのように「標準モジュール」の中に「Module1」が追加されます

「標準モジュール」が追加されている状態

6.標準モジュールの「Module 1」をダブルクリックして選択します

標準モジュールをダブルクリックして選択した状態

7.表示画面中の右側の空白領域にマクロのコードをコピペします

(今回は、一例として、以下のメッセージ表示マクロのコードをコピペします)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

各自のマクロを登録する場合、マクロ名は任意ですが、(control As IRibbonControl)の部分は、変えないでください。

コピペすると、以下のイラストの状態になります。

VBAエディタの標準モジュールにコードを張り付けた状態

8.今操作している画面の右上の「_」をクリックして、画面を一時的にたたんで、ワード文書の画面を再表示させます

VBAエディタの最小化ボタン

.ワード文書画面左上の「ファイル」をクリックします

ワード画面左上の「ファイル」タブ

10.「名前を付けて保存」をクリックします

ワード文書の「ファイル」→「名前を付けて保存」

11.「参照」をクリックします

ワード文書の「ファイル」→「名前を付けて保存」→「参照」

12.保存画面が表示されるので、ファイルの種類を「dotm」にします

Wordマクロ有効テンプレート(*dotm)」を選びます。

ファイル保存画面で「Wordマクロ有効テンプレート(*dotm)」を選んでいる状態

13.好きな保存場所を指定します

以下のイラストの例では、保存先をデスクトップにしています(左側のメニュー上の「デスクトップ」をクリックしてください)

ワードファイルの保存先にデスクトップを指定している様子

dotmファイルの名前は何でもかまいません(イラストの例では「テストマクロ」です)

(「テストマクロ.dotm」としても「テストマクロ」にしても、「テストマクロ.dotm」というファイルが作成されます)

14必ず保存先(緑丸部分)を確認してから、保存ボタン(赤丸部分)を押します

保存ボタンを押してデスクトップにファイルを保存する様子

15.ワード文書の右上の×印を押してワード文書を閉じます

Word文書右上の×ボタン

16.保存したdotmファイルの拡張子が表示されているかを確認します。

dotmファイルのファイルアイコン

上のイラストのように、ファイル名の末尾がdotmとなっていればOKです。

拡張子とは、ファイルの識別子のことであり、このファイルの場合は「dotm」です。

拡張子が表示されていない場合は、以下の手順で拡張子を表示させてください。

.「Win」キーを押しながら「E」キーを押します

キーボード上のWinキーとEキーの位置

.「表示」→「表示」→「ファイル拡張子」を選択します

エクスプローラーを使用するファイル拡張子の表示設定

この操作によって拡張子が表示されるようになります。

これでdotmファイルの作成作業はいったん終了です。

ステップ02:customUI.xmlファイルを作成する

以下の手順でcustomUI.xmlファイルを新規に作成します

.「Win」キーを押しながら、「R」キーを押します

キーボード上の「Win」と「R」の位置

.「notepad」と入力後に「OK」ボタンを押します。

「ファイル名を指定して実行」の入力ボックスに「notepad」と入力した状態

.開いたメモ帳の画面に以下のコードを貼り付けます

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab" label="カスタムタブ">
                <group id="CustomGroup" label="カスタムグループ">
                    <button id="MyButton1" label="マクロ1実行" onAction="MyMacro1" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

このコードのカスタマイズについては、後述の「各自のマクロの登録の仕方」をご参照ください。

貼り付けると以下の状態になります。

.「customUI」という名前でファイルを保存します

ファイル」→「名前を付けて保存」を選び、エンコードが「UTF-8」であることを確認してから「保存」ボタンを押します。

名前をcustomUIとして、テキストファイルを保存することを示すイラスト

このテキストファイルの保存場所はどこでもかまいません。

タブの×ボタンを押してファイルを閉じます

メモ帳のタブの×ボタンを押して閉じることを示すイラスト

.保存した「customUI.txt」の拡張子部分を変更して、「customUI.xml」に変更します。

以下のようにして、ファイルの拡張子を変更します。

customUI.txtのアイコン

ファイル名の部分を1回左クリックすると、ファイル名を変更できるようになります。

ファイルの拡張子を「txt」から「xml」に変更後にエンターキーを押します。

以下のメッセージがでますが、気にせず「はい」を押します。

「拡張子を変更すると、ファイルが使えなくなる可能性があります」というメッセージ

すると、以下のように、アイコンが変化します(表示されるアイコンの種類は、パソコンの設定によります)。

customUI.xmlのアイコン
拡張子変更後

.「customUI」という名前のフォルダを新規作成します

customUIフォルダのアイコン

フォルダの作成場所はどこでもかまいません。

.2つ前の手順で作成した「customUI.xml」を、直前の手順で作成した「customUI」フォルダの中に移動させます

以下のイラストのようにします。

customUIフォルダのなかにcustomUI.xmlが入っている状態

customUI」フォルダの中には、「customUI.xml」以外のファイルは入れないでください。

この時点で、「customUI」フォルダは、どの場所に存在していてもかまいません。

これで、customUI.xmlの準備が整いました!

ステップ03:dotmファイル中へのcustomUI.xmlの配置と.relsファイルの編集を行う

ステップ01で作成したdotmファイルの拡張子を「zip」に変更します。

dotmファイルのアイコン

ファイル名の部分を1回左クリックすると、ファイル名を変更できるようになります。

ファイルの拡張子を「dotm」から「zip」に変更後にエンターキーを押します。

以下のメッセージがでますが、気にせず「はい」を押します。

「拡張子を変更すると、ファイルが使えなくなる可能性があります」というメッセージ

以下のような、アイコンマークになります。

zipファイルのアイコン
拡張子変更後

.手順でできたzipファイルを解凍します

ファイルの上で右クリックし、メニューから「すべて展開」を選びます。

zipファイルの上で右クリックし、メニューから「すべて展開」を選ぶ様子

展開先はどこでもかまいません。

展開(解凍)すると、以下の状態になります。

zipファイルを展開した状態

.手順の状態のフォルダの中に、ステップ02の手順で作成した「customUI」フォルダ(ustomUI.xmlファイル入り)を移動させます

以下の状態にします。

CustomUI.xmlファイル入りのCustomUIフォルダを展開フォルダ直下に移動させた状態

(「customUI」フォルダの中には、「customUI.xml」ファイルが入っている状態です)

これで、customUI.xmlの配置が完了しました!

.表示フォルダ内にある「_rels」フォルダを開きます

_rels」フォルダをダブルクリックして開きます

_relsフォルダを開こうとしている状態

.「.rels」ファイルをメモ帳で開きます

.rels」ファイルの上で右クリックして、「プログラムから開く」→「メモ帳」を選択します。

「.rels」ファイルをメモ帳で開こうとしている状態

プログラムから開く」のメニューの中にメモ帳がない場合は、上のイラストの状態で「別のプログラムを選択」を選んでください。

その場合、「別のプログラムを選択」で表示されたアプリの中から、「メモ帳」を探しだしてクリックしてから、「一度だけ」をクリックしてください。

「別のプログラムを選択」で表示されたアプリの中から、「メモ帳」を選択している状態

.開いた「.rels」ファイルに、以下のコードをコピペします

<Relationship Id="customUIRelID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>

このコードはカスタマイズする必要はありません。マクロ及びcustomUI.xmlの内容とは無関係に、そのまま使用できます

コードの貼り付け位置は、一番最後の</Relationships>の直前です(以下のイラスストの赤矢印が指す位置です)。

以下のイラストは、貼り付け後の状態です。

赤線部が新たに張り付けたコードです。

改行しているように見えますが、赤線部は改行を含んでいません(単に折り返しているだけです)

.「.rels」ファイルを上書き保存します

ファイル」→「保存」を選択して、上書き保存します。

10タブの×ボタンを押して「.rels」ファイルを閉じます

11.「_rels」フォルダの一つ上の階層を表示させます

以下のイラストの状態の表示にします。

12.表示されているフォルダとファイルをすべて選択してから、圧縮してzipファイルを作成します

以下のイラストのように、すべてのフォルダとファイルを圧縮します。

圧縮先」は「ZIPファイル」を選択します

出来た圧縮ファイルを好きな名前に変更します。

この例では、「テスト.zip」としました。

(名前は何でもかまいません)

13.拡張子を「zip」から「dotm」に変更します。

拡張子の変更時に以下のメッセージがでますが、気にせず「はい」を選択してください。

「拡張子を変更すると、ファイルが使えなくなる可能性があります」というメッセージ

以下のように、ファイルアイコンがdotmのアイコンに変化します。

これでdotmファイルの最終準備が整いました!

作成したdotmファイル(この例では、テスト.dotm)以外のファイルはもはや不要ですので、消していただいてもかまいません。

ステップ04:ワードのスタートアップフォルダにdotmファイルを配置する

1つ上の手順で作成した、最終的なdotmファイルを、以下の手順でワードのスタートアップフォルダに配置します。

.「Win」キーを押しながら「R」キーを押します。

キーボード上の「Win」と「R」の位置

.パソコン画面左下に表示された入力ボックスに、以下をコピペします

%APPDATA%\Microsoft\Word\STARTUP

コピペ後にOKボタンを押します。

「ファイル名を指定して実行」ダイアログボックス

.開いたスタートアップフォルダに、ステップ03の手順13で作成した最終的なdotmファイルを移動またはコピーします

これですべての操作が完了しました!

.任意のワードファイルを開いて、タブとボタンが正しく表示されることを確認します

どのワードファイルでもかまいませんので、ワードファイルを開き、以下のイラストのように、リボン上にタブマクロ実行ボタングループが存在することを確認してください。

リボン上にタブ、グループ、及びマクロ実行ボタンが表示されている状態

また、「マクロ1実行」ボタンを押して、以下のメッセージが出ることを確認してください。

リボン上のマクロ実行ボタンを押すことによって表示されたメッセージボックス

このメッセージが出るということは、ボタンとマクロが正しく関連付けられていることを意味します。

これですべてのステップが終了しました!

マクロ実行ボタンの削除の仕方

マクロ実行ボタンを削除したい場合は、開いているワードファイルをすべて閉じてから、スタートアップフォルダから対応dotmファイルを削除してください(削除しなくても、スタートアップフォルダから出すだけでも、マクロ実行ボタンは消えます)。

dotmファイル中には、実行ボタンの情報だけでなく、マクロも含まれているため、dotmファイルを削除すると、中のマクロも一緒に消えてしまうことに注意してください

ワードのスタートアップフォルダの開き方は、上にも紹介しましたが、別の記事にも独立して紹介していますので、必要に応じて参照してみて下さい。

各自のマクロの登録の仕方

今回は、メッセージ表示マクロを例にしてマクロ実行ボタンをリボンに登録しましたが、以下の手順でご自身のマクロを登録できます。

1.ステップ01手順7で、各自のマクロを標準モジュールに登録します

2.ステップ02手順3で、自分用にカスタマイズしたcustomUI.xml用コードを使用します

.relsファイルの内容は常に同じです(今回紹介したものをそのまま使いまわせるので、カスタマイズする必要はありません)

customUI.xml中のどの部分が、リボン上のタブ名グループ名、及びボタン名と対応するかは、下記の通りです。

customUI.xml中のマクロ名と、標準モジュール中のマクロ名との対応関係も以下に示しましたので参考にしてください。

リボン上のタブ名グループ名、及びボタン名customUI.xml中の名称との対応関係

リボン上のタブ名グループ名、及びボタン名customUI.xml中のものとの対応関係は、以下の通りです。

customUI.xml中のコード上のタブ名グループ名、及びボタン名を、お好きな名前に変更してカスタマイズしてください。

リボン上のタブ名、グループ名、及びボタン名とcustomUI.xml中のものとの対応関係

customUI.xml中のマクロ名と、標準モジュール中のマクロ名との対応関係

customUI.xml中のマクロ名と、標準モジュール中のマクロ名との対応関係は、以下のイラストの通りです。

customUI.xml中のマクロ名と、標準モジュール中のマクロ名との対応関係

マクロ名は何でもかまいませんが、これら2つのコードの中で、マクロ名を同じにする必要があります。

(control As IRibbonControl) の部分は、そのまま使用できます。

この方法の応用例

上に紹介したものは一番単純な例ですが、以下に、さまざまな応用例を示します。

  • 基本例 :既に示したもの
  • 応用例1:マクロボタンの上にアイコン(大または小)を設置する
  • 応用例2:1つのグループに複数のマクロ実行ボタンを表示する
  • 応用例3:複数のグループを作成し、各グループに複数のマクロ実行ボタンを表示する
  • 応用例4:複数のタブを作成し、各タブに1つまたは複数のグループを表示する

各応用例では、以下の4つを示しています。

  • 実際のリボン表示
  • 標準モジュールに貼り付けるマクロ例(メッセージ表示マクロ)
  • リボン表示に対応するcustomUI.xmlのテンプレートコード
  • 簡単な解説とカスタマイズのポイント

マクロ名や表示させたいタブ、グループ、マクロ実行ボタン、アイコンの数や種類は個人によって異なるため、上記の情報を基に各自が好きなようにカスタマイズしてください

カスタマイズは、上で既に紹介した「各自のマクロの登録の仕方」を参考にしてください。

以下の応用例では、コードの一部が太字であったり、が付いていたりしますが、メモ帳にはそのままコピーして使用できます

登録する各自のマクロは、複数のモジュールに分けて登録していただいてもかまいません。

基本例:既に上で示したもの

この例は、1つのタブの中に1つのグループをつくり、その中に1つのマクロ実行ボタンを表示させる最もシンプルな例です。

リボン表示

リボン上にタブ、グループ、及びマクロ実行ボタンが表示されている状態

標準モジュール(Module1)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

赤字で示した部分がカスタマイズ部分です。

マクロ名は、以下のcustomUI.xml中のonActionの値と同じにします。

customUI.xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab" label="カスタムタブ">
                <group id="CustomGroup" label="カスタムグループ">
                    <button id="MyButton1" label="マクロ1実行" onAction="MyMacro1" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

赤字で示した部分がカスタマイズ部分です。

応用例1:マクロボタンの上にアイコンを設置する

応用例1-1:マクロ実行ボタンの上に大きなアイコンを表示する

リボン表示

リボン上のマクロ実行ボタンの上に大アイコンが表示されている状態

標準モジュール(Module1)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

マクロ名は、以下のcustomUI.xml中のonActionの値と同じにします。

customUI.xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab" label="カスタムタブ">
                <group id="CustomGroup" label="カスタムグループ">
                    <button id="MyButton1" imageMso="MailMergeMergeToPrinter" size="large" label="マクロ1実行" onAction="MyMacro1" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

customUI.xml中のコードに、アイコン表示用のコード(以下の赤色部分)を追加することで、マクロボタンの上にアイコンを表示させることができます

imageMso="MailMergeMergeToPrinter" でアイコンの種類を指定します。

""の間に、好きなアイコン名(この場合は、MailMergeMergeToPrinter)を記述します。

size="large" を記載すると表示されるアイコンが大きくなります。

何個ボタンが登録されていようとも、 <button/>の間にこの記述を差し込むことで、対応するマクロ実行ボタンの上にアイコンを表示できます。

アイコン名と対応アイコン表示は、こちらのサイトに紹介されています。

こちらのサイトからは、アイコン一覧のPDFファイルをダウンロードできます(ページの下の方の「Microsoft-Office-2016_365-imageMso-Gallery.pdf」をクリックするとダウンロードできます。

size="large" の部分を削除すると、以下の応用例1-2ようにアイコン表示が小さくなります。

応用例1-2:マクロ実行ボタンに小さなアイコンを表示する

リボン表示

リボン上のマクロ実行ボタンの横に小アイコンが表示されている状態

標準モジュール(Module1)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

マクロ名は、以下のcustomUI.xml中のonActionの値と同じにします。

customUI.xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab" label="カスタムタブ">
                <group id="CustomGroup" label="カスタムグループ">
                    <button id="MyButton1" imageMso="MailMergeMergeToPrinter" label="マクロ1実行" onAction="MyMacro1" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

この例は、上の例(応用例1-1)のsize="large" の部分を削ったものです。

上のイラストを見ると、マクロアイコンが小さくなっており、マクロ実行ボタンの左に表示されているのが分かります。

応用例2:1つのグループに複数のマクロ実行ボタンを表示する

リボン表示

リボン上の1つのグループに複数のマクロ実行ボタンが表示されている状態

標準モジュール(Module1)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

Sub MyMacro2(control As IRibbonControl)
    MsgBox "マクロ2が実行されました!"
End Sub

Sub MyMacro3(control As IRibbonControl)
    MsgBox "マクロ3が実行されました!"
End Sub

各マクロ名が重複しないように、番号などを付けるか、ユニークな名前を付けるようにします。

各マクロ名は、以下のcustomUI.xml中の対応するonActionの値と同じにします。

customUI.xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab" label="カスタムタブ">
                <group id="CustomGroup" label="カスタムグループ">
                    <button id="MyButton1" imageMso="Cut" label="マクロ1実行" onAction="MyMacro1" />
                    <button id="MyButton2" imageMso="MailMergeMergeToPrinter" label="マクロ2実行" onAction="MyMacro2" />
                    <button id="MyButton3" imageMso="HappyFace" label="マクロ3実行" onAction="MyMacro3" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

<group</group>の間に、追加したいマクロ実行ボタンの数だけ、<button・・・/>の行を追加することで、1つのグループ内に複数のボタンを配置できます

button idの値とonActionの値は、重複しないように、番号などを付けるか、ユニークな名前を付けて区別します。

応用例3:複数のグループを作成し、各グループに複数のマクロ実行ボタンを表示する

リボン表示

1つのタブの中に複数のグループが作成され、各グループ内に複数のマクロ実行ボタンが表示されている状態

標準モジュール(Module1)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

Sub MyMacro2(control As IRibbonControl)
    MsgBox "マクロ2が実行されました!"
End Sub

Sub MyMacro3(control As IRibbonControl)
    MsgBox "マクロ3が実行されました!"
End Sub

Sub MyMacro4(control As IRibbonControl)
    MsgBox "マクロ4が実行されました!"
End Sub

Sub MyMacro5(control As IRibbonControl)
    MsgBox "マクロ5が実行されました!"
End Sub

Sub MyMacro6(control As IRibbonControl)
    MsgBox "マクロ6が実行されました!"
End Sub

各マクロ名が重複しないように、番号などを付けるか、ユニークな名前を付けるようにします。

各マクロ名は、以下のcustomUI.xml中の対応するonActionの値と同じにします。

customUI.xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab" label="カスタムタブ">
                <group id="CustomGroup1" label="カスタムグループ1">
                    <button id="MyButton1" imageMso="Lock" size="large" label="マクロ1実行" onAction="MyMacro1" />
                    <button id="MyButton2" imageMso="AutoSum" size="large" label="マクロ2実行" onAction="MyMacro2" />
                    <button id="MyButton3" imageMso="MacroPlay" size="large" label="マクロ3実行" onAction="MyMacro3" />
                </group>
                <group id="CustomGroup2" label="カスタムグループ2">
                    <button id="MyButton4" imageMso="Cut" label="マクロ4実行" onAction="MyMacro4" />
                    <button id="MyButton5" imageMso="FindDialog" label="マクロ5実行" onAction="MyMacro5" />
                    <button id="MyButton6" imageMso="HappyFace" label="マクロ6実行" onAction="MyMacro6" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

<tab</tab>の間に、追加したいグループの数だけ、<group・・・</group>の行を追加することで、1つのタブ内に複数のグループを配置できます

group idbutton id、及びonActionの値は、重複しないように、番号などを付けるか、ユニークな名前を付けて区別します。

応用例4:複数のタブを作成し、各タブに1つまたは複数のグループを表示する

リボン表示

タブ1

2つ作ったタブのうちの1つにマクロ実行ボタンが1つ表示されている状態

タブ2

2つ作ったタブのうちの1つにマクロ実行ボタンが複数表示されている状態

標準モジュール(Module1)

Sub MyMacro1(control As IRibbonControl)
    MsgBox "マクロ1が実行されました!"
End Sub

Sub MyMacro2(control As IRibbonControl)
    MsgBox "マクロ2が実行されました!"
End Sub

Sub MyMacro3(control As IRibbonControl)
    MsgBox "マクロ3が実行されました!"
End Sub

Sub MyMacro4(control As IRibbonControl)
    MsgBox "マクロ4が実行されました!"
End Sub

Sub MyMacro5(control As IRibbonControl)
    MsgBox "マクロ5が実行されました!"
End Sub

各マクロ名が重複しないように、番号などを付けるか、ユニークな名前を付けるようにします。

各マクロ名は、以下のcustomUI.xml中の対応するonActionの値と同じにします。

customUI.xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab id="CustomTab1" label="カスタムタブ1">
                <group id="CustomGroup1" label="カスタムグループ1">
                    <button id="MyButton1" imageMso="AutoFormat" size="large" label="マクロ1実行" onAction="MyMacro1" />
                </group>
            </tab>
            <tab id="CustomTab2" label="カスタムタブ2">
                <group id="CustomGroup2" label="カスタムグループ1">
                    <button id="MyButton2" imageMso="Lock" size="large" label="マクロ2実行" onAction="MyMacro2" />
                </group>
                <group id="CustomGroup3" label="カスタムグループ2">
                    <button id="MyButton3" imageMso="Cut" label="マクロ3実行" onAction="MyMacro3" />
                    <button id="MyButton4" imageMso="FindDialog" label="マクロ4実行" onAction="MyMacro4" />
                    <button id="MyButton5" imageMso="HappyFace" label="マクロ5実行" onAction="MyMacro5" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

<tabs></tabs>の間に、追加したいタブの数だけ、<tab・・・</tab>の行を追加することで、リボン内に複数のタブを配置できます

tab idgroup idbutton id、及びonActionの値は、重複しないように、番号などを付けるか、ユニークな名前を付けるようにします。

まとめ

上の応用例を参考にして、好みのレイアウトでマクロをリボンに登録してみてくださいね!

【スポンサーリンク】

-ワードマクロの実行方法
-,