メッセージボックスの使用(Microsoft Word)
Wordでマクロを作成する場合、メッセージボックスの使用を簡単に組み込むことができます。これらは通常、ユーザーに情報を伝えたり、基本的な入力を取得したりするために使用されます。 MsgBoxコマンドを使用してメッセージボックスを含めます。マクロの次の部分は、非常に単純なメッセージボックスを作成します。
MsgBox "The macro is done"
MsgBox呼び出しの一部としてシンボルタイプのコードを含めることにより、メッセージボックスにシンボルを追加することもできます。これらの記号は、多くのWindowsダイアログボックスで広く使用されています。次の4種類の記号を使用できます。
Type |
Enumeration |
Symbol |
||
16 |
vbCritical |
White X in a red circle (and “ding”) |
||
32 |
vbQuestion |
Question mark in a circle |
||
48 |
vbExclamation |
Exclamation point in a circle |
||
64 |
vbInformation |
Information symbol (lowercase i in a circle) |
MsgBoxステートメントでは、Type列の数値またはEnumeration列の列挙のいずれかを使用できます。例として、感嘆符の記号を含めたいとします。これは通常、重要なことが起こったとき、または起こりそうなときの通知としてダイアログボックスに含まれます。この記号をメッセージボックスに含めるには、次のコード行のいずれかを含めます。
MsgBox "Can't run the macro on the text", 48 MsgBox "Can't run the macro on the text", vbExclamation
これまで、MsgBoxコマンドはステートメントとして使用されてきましたが、関数として使用することもできます。そうすれば、それを使用してユーザーから簡単な入力を得ることができます。 MsgBox関数をより便利にするために、Wordでは、[OK]ボタンのほかに、ダイアログボックスにクリック可能なボタンを表示することができます。これは、メッセージボックスに表示される記号に使用されているタイプコードを調整することによって行われます。メッセージボックスに表示できるさまざまなボタンの組み合わせは次のとおりです。
Type |
Enumeration |
Button Types |
||
1 |
vbOKCancel |
OK, Cancel |
||
2 |
vbAbortRetryIgnore |
Abort, Retry, Ignore |
||
3 |
vbYesNoCancel |
Yes, No, Cancel |
||
4 |
vbYesNo |
Yes, No |
||
5 |
vbRetryCancel |
Retry, Cancel |
ボタンを使用するには、ボタンタイプの値をシンボルに使用する値に追加するだけです。 Type列の値またはEnumeration列の列挙のいずれかを使用できます。 VBAはどちらが使用されているかを気にしません。前の例では、48のコードまたはvbExclamationの列挙を使用して、感嘆符の記号を表示しました。 [中止]、[再試行]、[無視]ボタンも含めたい場合は、次のコード行を使用できます。
J = MsgBox "Can't run the macro on the text", 48 + 2 J = MsgBox "Can't run the macro on the text", vbExclamation + vbAbortRetryIgnore
数値を使用することを選択した場合は、実際に値を合計できます。つまり、「48 + 2」の代わりに「50」を使用できます。コード行が実行された後、Jはどのボタンがクリックされたかを示す値に等しくなります。 Jが何に等しいかを確認するためのテストを行う際には、列挙型を使用するのが最善ですが、値を使用することもできます。可能な戻り値は次のとおりです。
Value |
Enumeration |
Button Clicked |
||
1 |
vbOK |
OK |
||
2 |
vbCancel |
Cancel |
||
3 |
vbAbort |
Abort |
||
4 |
vbRetry |
Retry |
||
5 |
vbIgnore |
Ignore |
||
6 |
vbYes |
Yes |
||
7 |
vbNo |
No |
MsgBoxで値または列挙を使用する必要がありますか?それは本当に個人的な好みに要約されますが、列挙を使用することには2つの大きな利点があります。まず、VBAコードを入力すると、エディターは使用可能な列挙に関する「ヒント」を自動的に提供します。次に、列挙型はコード内でより説明的です。つまり、MsgBox内でのそれらの効果をより簡単に確認できます。第三に、列挙は、Microsoftが将来MsgBoxの動作に加える可能性のある変更からユーザーを保護します。これは、Microsoftが変更を加えるということではありません。このヒントに示されている値は、何年もの間静的です。ただし、値が変更された場合でも、Microsoftは単に列挙の意味を舞台裏で変更するため、列挙は引き続き機能します。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(8931)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス:
link:/ word-Using_Message_Boxes [メッセージボックスの使用]
。