返回列表 上一主題 發帖

[發問] inputbox + select case 疑問

  1. Sub TA()
  2.   Dim X As Variant
  3.   Dim Y As Long
  4.   
  5.   On Error Resume Next
  6.   X = Application.InputBox("請輸入預瀏覽之電腦", , "請輸入數字 <例如 1 > 或輸入 0 取消")
  7.   Do While VarType(X) <> vbBoolean
  8.     Y = -1: Y = CLng(X): X = False
  9.     Select Case Y
  10.       Case 1:     'Shell "D:\vncviewer.exe 111.99.67.64 /password cimeng"
  11.       Case 2:     'Shell "D:\vncviewer.exe 111.99.67.84 /password cimeng"
  12.       Case Else:  MsgBox "請重新輸入"
  13.     End Select
  14.     X = Application.InputBox("請輸入預瀏覽之電腦", , "請輸入數字 <例如 1 > 或輸入 0 取消")
  15.   Loop
  16. End Sub
複製代碼
世界那麼大,可我想去哪?

TOP

未修改前的時候,小弟只能輸入特定值(小弟設定為0),才能離開 inputbox 否則會一直重新要求輸入
後來小弟將  ...
feecshyrnd 發表於 2015-12-12 22:20
  1. Sub TA()
  2.   Dim X As Variant
  3.   Dim Y As Long
  4.   
  5.   On Error Resume Next
  6.   X = Application.InputBox("請輸入預瀏覽之電腦", , "請輸入數字 <例如 1 > 或輸入 0 取消")
  7.   Do While VarType(X) <> vbBoolean
  8.     Y = -1: Y = CLng(X): X = False
  9.     Select Case Y
  10.       Case 1:     Shell "D:\vncviewer.exe 111.99.67.64 /password cimeng"
  11.       Case 2:     Shell "D:\vncviewer.exe 111.99.67.84 /password cimeng"
  12.       Case Else:  MsgBox "請重新輸入"
  13.     End Select
  14.     X = Application.InputBox("請輸入預瀏覽之電腦", , "請輸入數字 <例如 1 > 或輸入 0 取消")
  15.   Loop
  16. End Sub
複製代碼
不好意思,樓上的代碼我把你要執行的Shell操作註釋掉了。這層代碼修改正常了。
Application.InputBox按"取消"時返回False,但Inputbox按“取消”時返回的值是"",不適用本例。
世界那麼大,可我想去哪?

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題