VBAの勉強を始めてみた

色々試しています。

Word 標準テンプレート(Normal.dotm)にVBAのコードを記述してマクロを使用するには

今回は Word で

  • VBEを起動する方法
  • 標準モジュールにコードを記述する方法
  • マクロを実行する方法

を順番に説明したいと思います。この辺は Excel とほとんど同じなので安心して下さい。

 

Word のデフォルトでは VBE を起動するためのボタンが非表示になっています。まずは VBE を起動できるように設定変更しましょう。リボンのタブ内のどこでもいいので右クリックして「リボンのユーザー設定」をクリックします。(ファイル-オプション-リボンのユーザー設定からでも同じように入れます)

リボンのユーザー設定を開いたら、「開発」にチェックを入れて OK します。

f:id:kouten0430:20181001125643j:plain

 

これでリボンに開発タブが追加されます。※画像の「Visual Basic」のボタンが VBE を起動するためのボタンです。

f:id:kouten0430:20181001125726j:plain

 

さっそく VBE を起動してみましょう。最初は標準モジュールが無い状態なので、左側のプロジェクトエクスプローラーで Normal を選択し「挿入」→「標準モジュール」で、標準モジュールを挿入します。

f:id:kouten0430:20181001130346j:plain

 

Normal は標準テンプレートと呼ばれ、エクセルでいうところの個人用マクロブックにあたります。なので、標準テンプレートに記述されたマクロは、すべての文書で共通して使用することができます。
C:\Users\ユーザー名\AppData\Roaming\Microsoft\Templates に、Normal.dotm というファイル名で用意されており、Word を起動するたびに自動的にロードされます。
VBA のコードの他に、フォント、余白、間隔、およびその他の設定が保存されています。

(それぞれの文書でのみ使用可能なマクロを記述する場合は、Project(文書1)などに標準モジュールを挿入し、コードを記述します)

 

さて、話を元に戻しましょう。
挿入された標準モジュールのコードウィンドウに、SubからEnd Subまでのコードを記述します。SubからEnd Subまでをプロシージャーといい、ざっくり言うとこれが一つのマクロの単位になります。

f:id:kouten0430:20181001130621j:plain

 

これで標準モジュールへ VBA コードの記述が完了しました。VBE を閉じて(右上の「×」を押す)、Word の画面に戻りましょう。

さきほど標準モジュールに記述したマクロを実行するには、開発タブから「マクロ」のボタンを押します。

f:id:kouten0430:20181001130752j:plain

 

すると、マクロの一覧が表示される(マクロの名前はプロシージャー名)ので、目的のマクロを選択して「実行」を押します。これで、SubからEnd Subまでの間に記述されたコードの内容が実行される(マクロが実行される)ことになります。 

f:id:kouten0430:20181001131502j:plain

 

ただし、その都度マクロの一覧から選択して実行するのは時間がかかるので、マクロをリボンやクイックアクセスツールバーに登録しておくと楽チンですよ。

 

マクロをリボンに登録する方法はこちら

kouten0430.hatenablog.com

 

マクロをクイックアクセスツールバーに登録する方法はこちら

kouten0430.hatenablog.com