VB(A) の中でも、不思議な仕様なのが InputBox 関数だ。

この関数は、一行入力のテキストボックスを持つダイアログボックスを表示し、 利用者に適当なテキストの入力を促す。 見た目が質素なので、その用途は微妙だが、 フォームをいちいち作るのが面倒な時に使うこともある。

ダイアログボックスには、OK だけでなくキャンセルボタンもあるので、 利用者はキャンセルを選んで、処理を中止することもできる。 ということは、この関数は入力されたテキストだけでなく、 キャンセルされたかどうかの情報も返さなければならない。

さて、この関数の戻り値は、String 型である。 他の引数には値を呼び出し側に返すものはなく、 エラーを使ってキャンセルを表す感じでもない。 つまり、戻り値のみで対応しないといけないのだ。

どうなっているのか。