ワードのマクロはVBAで記述されています。
そして、VBAのプログラムを作成したり、編集するのには専用のツールVisual Basic Editor(略してVBE)を使います。ワードやエクセルには付属していますので、安心してください。
この記事では、VBEについて解説します。
VBEとはVBAを作成、編集するツール
VBAはプログラミング言語なので、VBEにはプログラムを編集するテキストエディタ機能がついています。
Visual Basic Editor という名前ですが、エディタ以外にも、VBAを実行させたり、プログラミングの悪いところを見つけたり(デバッグといいます)、プログラミングを助けてくれる機能が色々と付いています。
ワードの他にも、エクセルやパワーポイントなど他のオフィス製品にも、VBEがついていて、使い方は共通になりますので、ここで覚えておくと、エクセルのマクロを作るときにも役に立ちますよ。
VBEの起動
ワードに「開発」タブが表示されている場合、「開発」タブの「Visual Basic」をクリックします。
※「開発」タブの表示のさせ方は、記事「オフィスの自動化。操作の記録やマクロを使う「開発」タブの表示の仕方」で説明しています。
また「開発」タブを表示させていなくても、ワードを開いて、Alt+F11 を押しても起動することができます。
※Alt+F11は「Alt」キーを押しながら「F11」キーを押すという意味です。
VBE画面の説明
下図のような画面が開きます。ワードとは完全に別のウィンドウになってます。
上図は、5個のウィンドウに分かれています。ウィンドウは閉じたり開いたり、配置を変えたりできるので、上図の通りでないかもしれませんが、上図のウィンドウがよく使うものなので、一通り説明しておきます。
- プロジェクトエクスプローラー
プロジェクトが含むモジュールなどのオブジェクトをエクスプローラーで表示しています。 - プロパティウィンドウ
オブジェクトのもつプロパティ(設定)を表示してます。プロパティの変更もここから行うことができます。 - コードウィンドウ
マクロのプログラム(コード)を表示します。
エディタになっていてコードを書いたり編集したりできます。またコードを実行したり、実行しながらデバッグすることもできます。※デバッグとはプログラムのうまく動かないところ(バグといいます)を取り除く作業のことです。プログラムを組んだら、必ずバグがありデバッグすると思ってください(経験談^^;)
- ローカルウィンドウ
変数の内容表示など、デバッグ中にプログラムの実行状態を確認することができます。 - イミディエイトウィンドウ
VBAのプログラムを一行ずつ入力してその場で実行することができます。命令を試しに実行してみたり、簡単な計算をさせることができます。また、マクロの中で、Debug.Print関数を使って、デバッグ様に表示させることもできます。
VBAコードの表示
すでに、「マクロの記録」機能でキー操作を保存していた場合、VBEで見ることができます。
記事「ワードマクロで一番カンタンに作業を自動化する方法:キー操作の保存」の手順で、ワードのキー操作を保存してみましょう。
試しに、以下の様に「マクロで入力するテストだ!」と入力する操作を記録してみました。
さて、ここで、VBEを見てみます。
マクロの記録をするとき、「マクロの保存先」に、
- すべての文書(Normal.dotm)
- アクティブな文書名(文書)
のように、2つ選べたと思います。「アクティブな文書名」というのは、今まさに選択されている文書のファイル名です。
で、VBEのプロジェクトエクスプローラーを見てもらうと、下図のようにプロジェクトとしてNormal と Project(文書ファイル名) が表示されていると思います。
マクロの記録をしたときに、保存先に選んだほうのツリーを開いてください。
ツリーを開いて、「標準モジュール」→「NewMacros」のモジュールをダブルクリックすると、コードウィンドウが開いて、マクロのVBAコードが表示されます。
上図の例では、コードウィンドウにはキー操作でマクロ記録したコードが表示されています。
キー操作で文字列を入力して「Enter」キーを押した操作が、2行のVBAコードで記録されていますね。コードウィンドウを使えば、このコードを変更したり、全くの白紙からコードを作ったりすることもできます。
まとめ
この記事では、
- Visual Basic Editor の開き方と、
- VBEのウィンドウ説明、
- 「マクロの記録」で記録したキー操作のコードを表示する方法
を説明しました。これから、VBEを使ってマクロを作っていく具体的な方法を説明していきます。記事のリンクをここに追記しますので、楽しみにしてください。
コメント