2

これはおそらく簡単な質問ですが、サブの開始時に複数の入力ボックスを使用してデータを収集する必要がある場合、これらのうちどれが正しい方法ですか?

例 1:

InputText1 = InputBox("Enter your name")  
If InputText1 = "" Then Exit Sub

InputText2 = InputBox("Enter your age")
If InputText2 = "" Then Exit Sub

'Do something

例 2:

InputText1 = InputBox("Enter your name")  
If Not InputText1 = "" Then  
  InputText2 = InputBox("Enter your age")  
  If Not InputText2 = "" Then  
    'Do something  
  End If
End If
4

2 に答える 2

3

すべてのデータを要求するフォームを作成する方が良いと思います。

ただし、両方のコードセットが機能します。手順の出口は 1 つだけであるべきだと考えるかどうかによって異なります。2 番目の例には、出口が 1 つしかありません。その理由は、それがどこで終了するかを常に知っているからです。ただし、欠点は、コードがネストされ、視覚的に複雑になることです。条件が単純で、サブルーチンがエラー終了で終了している場合、つまり何もしていない場合は、終了することを好みます。だから私は例1を好むでしょう。

于 2009-09-08T23:56:42.523 に答える
1

あなたの質問に答えるのに役立たないかもしれない興味のある関連項目:

テストできる戻り状態がもう 1 つあります。[キャンセル] ボタンです。

Dim InputText1 As String

InputText1 = InputBox("Enter your name")
If StrPtr(InputText1) = 0 Then
    MsgBox "*Canceled*"
ElseIf InputText1 = "" Then
    MsgBox "*Empty*"
Else
    MsgBox InputText1
End If

この場合は問題にならないかもしれませんが、違いを見分けるのに役立ちます。

于 2009-09-09T04:55:05.587 に答える