- VB,VBA
- 2021-02-07
VisualBasicでInputBoxを使う際、キャンセルされた時は長さ0の文字列を返しますが、何も入力せずOKを押した時も同様に長さ0の文字列が返ってきます。
キャンセルの判定をして、それに伴った処理をしたい場合に困ってしまいます。
そんな時には以下のようにするとキャンセルの判定ができます。
Dim ans As String 'InputBoxの戻り値 Dim boolFlag As Boolean '判定フラグ boolFlag = False Do Until boolFlag = True ans = InputBox("入力してください") If StrPtr(ans) = 0 Then Exit Sub 'キャンセル時に終了 boolFlag = True Loop