メッセージボックスとインプットボックス (Apache OpenOffice 実行時ライブラリ)

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png

Apache OpenOffice Basic には、ユーザーへの入出力用に、MsgBox および InputBox 関数が用意されています。

メッセージの出力

MsgBox を使うと、簡単なメッセージ表示用のダイアログを表示できるだけでなく、その中に 1つまたは複数のボタンを配置できます。最も簡単なバリアントでは、MsgBox に含まれるのはテキストと OK ボタンだけです。

MsgBox "This is a piece of information!"

メッセージボックスの表示形態は、パラメータ指定により変更できます。ここでは、ボタンの種類、標準ボタン、追加表示するアイコンをパラメータ指定により設定できます。ボタンの指定は、次の数値を通じて行います。

  • 0 - OK ボタンのみを表示します。
  • 1 - OK およびキャンセルの各ボタンを表示します。
  • 2 - 中止、やり直し、および取消しボタンの各ボタンを表示します。
  • 3 - はい、いいえ、キャンセルの各ボタンを表示します。
  • 4 - はい、いいえの各ボタンを表示します。
  • 5 - やり直しおよびキャンセルの各ボタンを表示します。

なお、表示ボタンの指定用パラメータ値に次の値を加えることで、いずれか 1 つのボタンを標準ボタンに設定できます。たとえば、はい、いいえ、キャンセルの各ボタンを表示させ (指定値 3)、キャンセルを標準ボタンに設定する (指定値 512) には、両者の値を加えた 3 + 512 = 515 を指定します。

  • 0 - 1 番目のボタンを標準ボタンに設定します。
  • 256 - 2 番目のボタンを標準ボタンに設定します。
  • 512 - 3 番目のボタンを標準ボタンに設定します。

また、次の値をパラメータ値に加えることで、該当するアイコンを追加表示できます。

  • 16 - ストップ記号のアイコンを表示します。
  • 32 - 疑問符アイコンを表示します。
  • 48 - 感嘆符アイコンを表示します。
  • 64 - ヒント記号のアイコンを表示します。

この場合は、はいといいえのボタンを表示させて (指定値 4)、2 番目のボタン (いいえ) を標準ボタンに設定し (指定値 256)、疑問符アイコンを表示させる (指定値 32) ので、パラメータ値として 4 + 256 + 32 = 292 を指定します。

MsgBox "Do you want to continue?",  292

メッセージボックスに複数のボタンを表示した場合、通常は、どのボタンをユーザーが押したかを確認する処理が必要となります。このような処理には、次の戻り値を利用します。

  • 1 - OK
  • 2 - キャンセル
  • 3 - 終了
  • 4 - やり直し
  • 5 - 無視する記号・文字
  • 6 - はい
  • 7 - いいえ

たとえば先のサンプルコードの場合、戻り値の判定は次のようにして行えます。

If MsgBox ("Do you want to continue?",  292) = 6 Then
  ' Yes button pressed
Else
  ' No button pressed
End IF

MsgBox では、メッセージとして表示するテキストおよび表示ボタンの指定用パラメータの他に、第 3 のパラメータとしてメッセージボックスのタイトルを設定できます。

MsgBox "Do you want to continue?",  292, "Box Title"

このメッセージボックスのタイトル指定を省略した場合、「soffice」が標準タイトルとして使用されます。

インプットボックスと簡単な文字列入力

ユーザーからの簡単な文字列入力を受け付けるには、InputBox 関数を使用します。このような処理に関しては、ダイアログを構築するよりも、この関数を利用する方が簡単です。InputBox 関数には、次の 3 つのパラメータを指定します。

  • 説明用のテキスト
  • インプットボックスのタイトル
  • 入力フィールドに表示しておく標準値
InputVal = InputBox("Please enter value:", "Test", "default value")

InputBox 関数の戻り値には、ユーザーの入力した文字列が返されます。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools