今回は、実際に基本的なマクロを作ってみて、その中身(コード)について説明したいと思います。今のところ、特にプログラムの知識は必要ありません。
これから少しずつ説明していきます。
例: 選択範囲のフォントを変更する。
選択した範囲のフォントを
日本語:MSゴシック
英語:Arial
ボールド
に変更します。
これを通常の方法で行う場合、どのような操作が必要になるでしょうか?
すでに選択されているものとします。
通常の手順
- [ホーム] タブ上の [フォント] ボタンをクリックします。
- 表示されリストから「MS ゴシック」を選択します。
- 1 を繰り返します。
- 表示されリストから「Arial」を選択します。
- 最後に [太字] ボタンをクリックします。
(ミニツールバーを使用しても同じ操作になります。なお、正しくはフォントのダイアログで英数字用のフォントを設定すべきですが、便宜上簡略化しました。)
マウスを5回もクリックする操作になりました。
これを1クリックで行うマクロを作ります。
作ると言っても、1~5の手順を記録するだけです。
まず、開発タブを開きます。
タブが見当たらない場合:
リボンの任意の場所を右クリックして、[リボンのユーザー設定] を選択します。
または、[ファイル] > [オプション] > [リボンのユーザー設定] を選択します。
表示されたダイアログの右側にあるリストで、[開発] のチェックボックスをオンにします。
[OK] をクリックして通常のWord画面に戻ると、[開発] が表示されています。
では、マクロを記録していきます。
マクロの記録手順
- 最初に文書内で任意の文字列を選択します。
- [開発] タブの [マクロの記録] をクリックします。次のダイアログが表示されます。
ここでマクロ名を変更できますが、今回はデフォルトのままにします。
また、マクロの割当先や保存先などを設定も、後から設定できます。 - [OK] をクリックします。ダイアログが閉じます。
- 上記の通常の手順1~5を実行します。
- すべての手順を終えたら、[記録終了] をクリックします。
以上で、マクロ(Macro1)が作成されました。
次に、マクロの中身を見てみましょう。
開発タブの [VisualBasic] をクリックします。
右上のペインに表示されているコードが、作成したマクロです。
表示されていない場合は左にあるツリー表示を参考にして、開いてください。
VisualBasic Editorの説明は省きます(本などで勉強してください)。
では、コードを説明します。
行 | コード | 説明 |
1 |
Sub Macro1() |
Macro1の本体です(プロシージャ)。 |
2~4 | 「'」が先頭に付けられコメントになっています。実行されない行です。 | |
5 |
Selection.Font.Name = "MS ゴシック" |
選択箇所のフォントの名前を「MS ゴシック」に設定しています。 |
6 | Selection.Font.Name = "Arial" | 選択箇所のフォントの名前を「Arial」に設定しています。 |
7 | Selection.Font.Bold = wdToggle | 「選択箇所のフォントの太字」を切り換えています(wdToggle)。 |
この例は、3つのステートメントで構成されています。
さらに等式の左側に3つの要素があります。
「Selection」オブジェクトの「Font」子オブジェクト。
「Font」のプロパティ(例では、NameとBold)です。
ピリオドを「の」に置き換えて、「選択箇所のフォントの名前(または太字)」と読むことができます。
*「wdToggle」は太字のオン/オフを切り換えます。これは自動で作成されたコードですので、wdToggleが使われています。太字になった文字列を選択して適用すると太字が解除されてしまいますので、太字に設定するだけならば、「true」を使用した方がよいでしょう(自分でコードを作成/修正する場合)。
コードを見ると、このマクロは3つの処理をMacro1というプロシージャで一括処理していることが分かります。
何も変更せずに、VisualBasic Editorを終了します。
作ったマクロを実行してみましょう。
- フォントを変える範囲を選択します。
- [開発] タブの [マクロ] クリックします。
- 次のような [マクロ] ダイアログが表示されます(リスト内のマクロは人により異なります)。
- 作成したマクロ「Macro1」を選択して、[実行] をクリックします。
選択した範囲の文字列のフォントが変更されていると思います。
マクロを実行するたびに [マクロ] ダイアログを開くのは面倒なので、リボンまたはクイックツールバーにボタンを設定します。
(手順は省きます)
以上、簡単な「マクロの記録」と記録されたマクロについて説明しました。
「マクロの記録」により、Word上でユーザーが操作できる作業はほとんど記録できます。
基本的な操作をいったん「マクロの記録」で作成してから、カスタマイズすると手早く作成することができます。
いろいろと試してください。
次回は、VBAプログラムの基礎について、開設したいと思います。
変数とか、式とか、オブジェクトとか…
おまけ。
プログラムの知識がある方向けですが、MSDNには次の情報があります。
あくまでも開発者向けです。
ちょっと大作になりつつあります。
説明し終えるまでに時間がかかりそうですが、ぼちぼちとやっていきます。
Ustの方が楽な気がしてきた(笑)
では、また