ExcelVBAで入出力ダイアログをつかう
ExcelVBAでプログラムへの入出力を行うときには、とても便利な関数が用意されています。
使い方も簡単なので、さっそく確認してみましょう。
(下記、写真はExcelVBA互換のスクリプトが使える、LibreOfficeを使っています)
入力
strtmp = InputBox( "文字列を入力してください", "Title" )
出力
MsgBox( strtmp )
(関数を深堀するページではないので、詳しい関数の使い方は割愛します)
InputBoxを使うと、ユーザーが入力した文字列を得ることができます。
MsgBoxは、文字列出力をしますが、文字列変数以外も使えるという非常に気の利いた関数です。
InputBoxのキャンセルボタンを判定するには、戻り値をStrPtr関数を渡したら0であるかを確認します。
これを使えば下記のフローチャートのように、繰り返しプログラムの終了をさせることも可能です。
Sub test()
a = InputBox("文字列を入力してください", "Title")
If StrPtr(a) = 0 Then End
'ここに処理を入れる
b = MsgBox(a, vbOKOnly, "Title")
End Sub