ifでの条件分岐
.net vb2005でプログラミングしています。
2つのテキストボックスがあり、その名前をtextbox1,textbox2 ,
変数の代入をtx1、tx2とします。
どちらも半角数字で300までしか入力できません。
さらに、tx1に入力されるとtx2も必ず入力される必要があります。
tx1が未入力の場合はtx2も未入力である必要があります。
最初にtx1の文字数が0か確認し、入っている場合、居ない場合と
ifで条件分岐させましたが
うまくいきません。。
アドバイスいただきたいと思います。
Dim tx1,tex2 As Integer
If Len(TextBox1.Text) = 0 Then
flg = 0
ElseIf Regex.IsMatch(TextBox1.Text, "^[0-9]{1,3}$") Then
tx1= Val(TextBox1.Text)
tx1 = Convert.ToInt32(iptx5) '文字列をInteger型(数字型)に変換
Else
MsgBox("300までの数字で入力して下さい", vbCritical, "入力エラー")
TextBox1.Clear()
Exit Sub
End If
If tx1 > 255 Then
flg = 1
MsgBox(ipm_msg2, vbCritical, "入力エラー")
TextBox1.Clear()
End If
'**********************************************************************
If Len(TextBox1.Text) = 0 Then
flg = 0
exit sub
ElseIf Regex.IsMatch(TextBox2.Text, "^[0-9]{1,3}$") Then
tx2 = Val(TextBox2.Text)
tx2 = Convert.ToInt32(tex2)
Else
MsgBox(ipm_msg1, vbCritical, "入力エラー")
TextBox2.Clear()
Exit Sub
End If
'**255以上なら入力不可**
If iptx6 > 255 Then
flg = 1
MsgBox(ipm_msg2, vbCritical, "入力エラー")
TextBox6.Clear()
Exit Sub
End If
補足
返信が遅れてしまい、すみません。 >質問は「VBSを開いた時に(1)か(2)の分岐を選択するように」の意味が>あいまいと思うので、相当難しいことをやろうとしているのではない >かと思うのだが。 >もう一言別の表現で、何がしたいか言ってみてください。 細かく詳細を申し上げますと、 スタート ↓ インストール作業開始 (1)を選ぶ ↓ (2)を選ぶ -------------◇-------------- ↓ ↓ 「XP インストール作業」 「Vista インストール作業」 | | ---------------------------- ↓ インストール開始 >「なぜこういう質問になったか」 XPインストール用VBSとVistaインストール用VBSが別々に作成されており、if文で分岐の設定を行い、実行をする事が可能なのか?という疑問から今回の質問をさせて頂いた次第です。 >「これが実現・判別できたとして、あと何をしたいか(その先)」 今回の事が出来れば、それを応用し、分岐が出来てしまっているプログラムを極力なくし、きちんと整理を行いたいと思っております。 また、今後if文を使用してスクリプトを組む事がありますので、理解を深めたいと思っております。 宜しく御願いします。