最近の記事
- 9/1 - 将棋始めました
- 5/16 - サーバー引っ越し
- 4/24 - 優先順位
- 3/17 - vbNullString と 空文字列 ""
- 3/15 - InputBox 関数の戻り値
- 3/13 - 紙と Excel と VBA
- 3/9 - 未だに Visual Basic 6
- 11/14 - ぼて閉鎖
- 11/9 - 関数オブジェクトの呼び出し
- 9/7 - メソッドとしての関数オブジェクト
Entering Passive Mode
では、続き。
InputBox 関数のマニュアルのミスとは、キャンセルされた場合に返す値である。
実際には、InputBox 関数でキャンセルすると、長さ 0 の文字列 ("") ではなく、vbNullString が返る。
この、vbNullString は、"" とは異なる値である。
InputBox 関数で OK を押した場合、テキストボックスの内容が戻り値となる。
テキストボックスが空の場合は "" が返るので、キャンセルの vbNullString と区別することができる。
ただ、1 つ大きな問題がある。
vbNullString と "" をどうやって区別すれば良いのか。
vbNullString = "" は TrueStrComp(vbNullString, "") は 0Len(vbNullString) も Len("") は 0困ったことに、VBA の一般的な方法では、上記を区別するのは困難なので、特別な方法を使う必要がある。