見出し画像

ExcelVBAで入出力ダイアログをつかう

ExcelVBAでプログラムへの入出力を行うときには、とても便利な関数が用意されています。

使い方も簡単なので、さっそく確認してみましょう。
(下記、写真はExcelVBA互換のスクリプトが使える、LibreOfficeを使っています)

入力

strtmp =  InputBox( "文字列を入力してください",  "Title" )

画像1

出力

MsgBox( strtmp )

画像2

(関数を深堀するページではないので、詳しい関数の使い方は割愛します)

InputBoxを使うと、ユーザーが入力した文字列を得ることができます。
MsgBoxは、文字列出力をしますが、文字列変数以外も使えるという非常に気の利いた関数です。

InputBoxのキャンセルボタンを判定するには、戻り値をStrPtr関数を渡したら0であるかを確認します。
これを使えば下記のフローチャートのように、繰り返しプログラムの終了をさせることも可能です。

画像3

Sub test()
    a = InputBox("文字列を入力してください", "Title")
    If StrPtr(a) = 0 Then End
    
    'ここに処理を入れる
    
    b = MsgBox(a, vbOKOnly, "Title")
End Sub

この記事が気に入ったらサポートをしてみませんか?