2) 簡単なVBAプログラムの作成 2
前回はVBAプログラムを記述する画面「Visual Basic Editor(VBE)」を起動し、メッセージを出す簡単なプログラム記述の演習を行いました。
今回は、前回のプログラムについて、さらに詳しく解説していきます。
※本連載では、Excel2003をベースに解説しています。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供
前回作成したプログラムは、下記の通りです。
Sub テスト1()
MsgBox “Hello! VBA”
End Sub
基本的に1つのマクロは「Sub」で始まり「End Sub」で終わります。そして、その行の間に必要な命令文を記述します。
「Sub」の後ろには、プログラムを見分けるための名前(=マクロ名。ここでは「テスト1」の事)を定義する決まりになっており、プログラム作成者が任意の名前を付ける事が出来ます。
| ※1つのマクロは「Sub」で始まり「End Sub」で終わります。 | |
| Sub テスト1() | ※テスト1・・・マクロ名。実行したい処理単位に名前を定義します。任意の名前を付けることが可能。後ろに必ず「()」を付けます。 |
| MsgBox “Hello! VBA” | ※命令文。処理したい命令を記述します。通常はここに複数の命令を記述することになります。 |
| End Sub | |
MsgBox関数
今回記述した命令文「MsgBox “Hello! VBA”」の「MsgBox」は、メッセージを表示させるためにあらかじめ用意されているVBA専用の「関数」であり、この「MsgBox」関数について解説を加えます。
まず始めに、「MsgBox」関数について「Microsoft Visual Basic」のヘルプを見てみます。
VBE画面からヘルプ(H)-Microsoft Visual Basicヘルプ(H)を選び、「MsgBox関数」で検索します。出てきた検索結果一覧の中から、「MsgBox Function(Visual Basic for Applications)」をクリックします。
上記ヘルプの中に
構文 MsgBox(prompt[, buttons] [, title] [, helpfile, context])
と書かれていますが、これは、MsgBox関数はこの構文で記述するということを意味します。
「()」の中の「prompt」「buttons」「title」「helpfile」「context」について(引数といいます)、解説します。
※各引数は「,」で区切ります。
| prompt | 必ず指定します。表示するメッセージの内容を記述します。今回作成したプログラム「MsgBox “Hello! VBA”」の「“Hello! VBA”」の部分に当たります。文字の前後に「”」を付けます。 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| buttons | 省略可能です。表示するボタンの種類などを指定します。組み合わせて指定出来ます。
以下、Microsoft Visual Basicヘルプより抜粋します。
| ||||||||||||||||
| title | 省略可能です。タイトルバーに表示する文字を記述します。文字の前後に「”」を付けます。 省略すると、タイトル バーにはアプリケーション名が表示されますので、今回作成したプログラム「MsgBox “Hello! VBA”」では、「Microsoft Excel」と表示されました。 | ||||||||||||||||
| helpfile | 省略可能です。 メッセージの[ヘルプ]ボタンから開くヘルプファイルを指定します。指定する場合は、「helpfile」「context」両方セットで指定します。 「helpfile」を指定した場合、メッセージが表示されているとき[F1]キーを押すと、指定したヘルプファイルのうち「context」で指定したトピックが表示されます。 | ||||||||||||||||
| context |
サンプルプログラム作成
上記のMsgBox関数の構文を踏まえ、新たにメッセージを出力するプログラムを作成します。
前回作成した「テスト1」の次に、以下の文字を記述します。
Sub テスト2()
rc = MsgBox("個人情報を送信します。よろしいですか?",vbYesNoCancel+vbExclamation,"確認")
End Sub
※「rc = 」から「"確認")」までは、1行で記述します。
※「helpfile」「context」は省略しました。
※マクロ名「テスト2」は任意の名前に変更可能ですが、必ず前回作成したマクロ名「テスト1」とは違う名前にします。
作成後は、前回の方法でプログラムを実行します。その際は、「テスト2」を選択して実行して下さい。
以下のメッセージが出力されます。
次回は、条件によって出すメッセージを変えるプログラムを作成します。


