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)」をクリックします。

Microsoft Visual Basicヘルプ

上記ヘルプの中に

構文 MsgBox(prompt[, buttons] [, title] [, helpfile, context])


と書かれていますが、これは、MsgBox関数はこの構文で記述するということを意味します。
「()」の中の「prompt」「buttons」「title」「helpfile」「context」について(引数といいます)、解説します。
※各引数は「,」で区切ります。

prompt必ず指定します。表示するメッセージの内容を記述します。今回作成したプログラム「MsgBox “Hello! VBA”」の「“Hello! VBA”」の部分に当たります。文字の前後に「”」を付けます。
buttons省略可能です。表示するボタンの種類などを指定します。組み合わせて指定出来ます。 以下、Microsoft Visual Basicヘルプより抜粋します。
vbOKOnly[OK]ボタンのみを表示します。省略すると、これが適用されます。 今回作成したプログラム「MsgBox “Hello! VBA”」では、省略されていますので、表示されたメッセージには「OK」ボタンのみが表示されています。
vbOKCancel[OK]ボタンと[キャンセル]ボタンを表示します。
vbYesNoCancel[はい]、[いいえ]、および[キャンセル]の3つのボタンを表示します。
vbYesNo[はい]ボタンと[いいえ]ボタンを表示します。
vbCritical警告メッセージアイコンを表示します。
vbQuestion問い合わせメッセージアイコンを表示します。
vbExclamation注意メッセージアイコンを表示します。
vbInformation情報メッセージアイコンを表示します。
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」を選択して実行して下さい。
以下のメッセージが出力されます。

メッセージボックス

次回は、条件によって出すメッセージを変えるプログラムを作成します。

関連キーワード
Excel,VBA,マクロ,簡単なプログラミング

コメントをお待ちしています

お名前:

メールアドレス:

コメント:

このエントリーのトラックバックURL

http://it.jfe-tec.jp/mt/mt-tb.cgi/75