返回列表 上一主題 發帖

[發問] 如何製作開關用途的按鈕?

[發問] 如何製作開關用途的按鈕?

程式碼如下
Private Sub start_Click()
    Dim switch As Boolean
    switch = IIf(switch, False, True)
    Sheet7.Cells(1, "E") = IIf(switch, "ON", "OFF")
    getdata switch
End Sub
請問這樣寫有那裡錯誤嗎?執行後出現訊息,「引數不為選擇性(optional)」

另外請問
使用application.ontime now+timevalue("00:01"), "getdata"
有什麼方法可以將前一次設定的schedule取消?
因為我在getdata本身當中有再輸入上面那段code
這樣它會在開始執行後每隔一分鐘就再執行一次,
但是一旦點擊按鈕數次後,它就會連續執行了
不進則退

看看getdata的參數設為什麼?

TOP

回復 2# oobird


    參數就是switch,是T/F型態的變數
不進則退

TOP

回復 3# mnsmrtl
「引數不為選擇性(optional)」 的錯誤 你好像是指因 getdata switch 這程式碼所引起的
但引起這錯誤應該是 Application.OnTime Now + TimeValue("00:00:01"), "getdata"
請修改成如下
Application.OnTime Now + TimeValue("00:00:01"), "'GetData  " & switch & "'"
有什麼方法可以將前一次設定的schedule取消?
因為我在getdata本身當中有再輸入上面那段code

oobird 版主 不是說 [看看getdata的參數設為什麼?]
意思是你取消的條件是什麼?

TOP

我是想在switch切換回false時停止
我在第一段的呼叫getdata,也是希望透過按鈕觸發
按鈕點擊→switch=true→開始定時執行getdata;再點擊→switch=false→getdata中止
這是我想作出的效果,還請兩位版主不吝指教,感謝
不進則退

TOP

回復 5# mnsmrtl
  1. Private Sub start_Click()
  2.     Dim switch As Boolean
  3.     switch = IIf(switch, False, True)
  4.     Sheet7.Cells(1, "E") = IIf(switch, "ON", "OFF")
  5.     If switch=True then
  6.        Application.OnTime Now + TimeValue("00:00:01"), "'GetData  " & switch & "'"
  7.     End If
  8. End Sub
複製代碼

TOP

已測試成功,感謝版主解答
不進則退

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題