ワードマクロ:マクロを新規作成する方法

シェアする

この記事では、ワードマクロでVBEを使って新しくマクロをゼロから作る手順を説明します。

マクロを新規作成する方法

ここでは、全く新しい文書を作って、その中にマクロを作ってみます。

ワード文書を新規作成

まずは、ワードを開いて、ワード文書を新規作成してください。
起動したときの画面や、「ファイル」メニューの「新規」から、「白紙の文書」をクリックすると作成できます。

VBEを開く

次に、Visual Basic Editorを開きます。
「開発」メニューの「コード」グループの「Visual Basic」ボタンをクリックするか、
キーボードの 「Alt」 +「F11」をクリックすると、VBEが起動します。

標準モジュールの作成

VBEのプロジェクトエクスプローラーを見てください。
Project(文書 1)というのが、対象のプロジェクト(=文書)になります。

まだ、新しい文書で「マクロの記録」も行なっていないため、ツリーに「標準モジュール」がありません。

そのため、まずはマクロを記述する標準モジュールを作ります。

Project(文書 1) を右クリックして、「挿入」→「標準モジュール」とクリックすると、「Module1」という名前の標準モジュールが作成されます。

このとき、コードウィンドウに、Module1が表示されます。
もし、自動で表示されていない場合、プロジェクトエクスプローラーで今追加した「Module1」をダブルクリックして、コードウィンドウに表示させてください。

Subプロシージャの作成

ここからは、コードウィンドウで作業していきます。

ワードや他のワード製品ののマクロの本体はVBAです。
マクロはサブルーチンと呼ばれる処理の単位ごとに処理を記述していきます。
この処理をプロシージャとも呼びます。

サブルーチンは、Sub で始まり、End Sub まで続きます。
つまり、

の間にプロシージャの内容をVBAで記述していきます。

今から、アクティブ文書のカーソル位置に 「新規作成したマクロ!」という文字列を挿入するマクロを作ってみましょう。

サブルーチンの名前は 「myFirstMacro」 とします。

コードウィンドウで、

と打ち込んでEnterキーを押してください。

すると、

のように、中かっこ()と End Sub の文字が自動で挿入され、間の行にカーソルが移動します。

VBEにはこのように、コーディング(プログラムを書くこと)の負担を減らすような仕掛けがちょこちょこありますよ。

さて、次に、サブルーチンの中に、

と入力してみましょう。
Selectionの前にはスペースを2つ入れてみましょう。インデントするといいますが、こうすることでプログラム構造がわかりやすくなります。

下図のような状態になります。

コードの意味は、まだ分からなくて大丈夫です。

実行してみましょう

せっかくマクロを書いたので実行してみましょう。

カーソルを、Sub myFirstMacro サブルーチン中のどこかに合わせてください。
その状態で「Sub/ユーザフォームの実行」をクリックすると、サブルーチンが実行されます。

もし、サブルーチン myFirstMacroの外にカーソルをあわせていた場合
(例えばSubの上のOption Explicit の行など)、下図のように実行可能なサブルーチンの一覧が別ウィンドウで表示されます。

その場合は、実行したいサブルーチン名(=マクロ名)を選択して「実行」をクリックしてください。

上記のマクロを実行したら、ワードファイルに「新規作成したマクロ!」の文字列が挿入されます。

マクロの削除

ここでは、マクロを削除する方法、また、モジュールを削除する方法を解説します。
不要になったときだけでなく、プログラム構造を変えるときに、マクロを記述する場所を変更するときにも、削除は必要です。
不要なコードや、モジュールを残したままにすると、だんだん、可読性の悪いコードになってしまいますので、注意してください。

マクロの削除の方法1

マクロのみ削除する場合、Sub サブルーチン名() から End Sub までを削除してください。

マウスやShiftキー+カーソルキーで範囲を選択し、「Del」キーで削除できます。

マクロの削除方法2

ワードからマクロを削除する事もできます。

  1. 「開発」メニューの「マクロ」ボタンを押して、
  2. 「マクロ」ウィンドウで削除したいマクロ名を選択し、
  3. 「削除」ボタンをクリック
  4. 削除の確認ウィンドウで「はい」をクリック

の手順で削除することができます。

モジュールごと削除

サブルーチンを削除しても、モジュールが残っています。モジュールごときれいに消すには、VBEのプロジェクトエクスプローラーから削除したいモジュールを右クリックして、「Module名の開放」を選択します。

削除前に、エクスポート(別ファイルに内容を保存)するか聞かれます。エクスポートしておけば、必要なプロジェクトにマクロを移植したり、間違えて消してしまったときは復元することができます。

しかし、今は特にエクスポート不要なので「いいえ」をクリックします。

これで、Module1が痕跡なく削除されました。

この記事が気に入ったら
いいね ! しよう