我有一個Excel表格,可以鏈接到實時市場數據。我使用計時器每秒鐘觀看dde價格。然後在滿足特定條件時提交訂單。我嘗試了中間的DoEvent無限循環,它工作5秒鐘,然後凍結工作簿。有沒有辦法在Excel中響應條件格式的變化?
有沒有方法可以響應dde更新中的更改?更改事件不會檢測到它們。它只是檢測用戶何時進行手動更改。
我被告知,如果我有條件格式有一種方法來獲取該事件。因此,我可以創建一個單元格公式,以便在符合條件時變爲true,然後將該單元格格式化爲條件格式,然後選取格式更改事件。那可能嗎?如果是這樣的話。任何建議,將不勝感激。
澄清:我想選擇一個事件在VBA中提交交易股票的訂單。我現在這樣做的方式是使用一個計時器,它循環遍歷所有行,在觸發器列中尋找真正的單元格。一旦發現它將關閉該行的標誌(將真實條件設置爲false)並提交訂單。
問題是,一秒鐘是快速移動股票的永恆。所以我需要在觸發器列中的單元格變爲真時在VBA中引發事件,以便我可以立即響應,而不是等待定時器類的第二個時間間隔。
據我所知,你不能以小於1秒的時間調用計時器。如果我可以使用毫秒,我的問題將得到解決。我只是每10毫秒循環一次列表。
據我所知,我不能在VBA中創建另一個線程。如果我可以做一個無限循環,並在每次迭代後將其置於睡眠狀態10毫秒左右。
據我所知,我無法直接將dde拖入VBA或甚至.net,因爲MSDN稱它不再受支持。
我希望這個澄清。所有的建議表示讚賞。
如果您創建了一個虛擬函數,並將DDE輸出單元作爲參數,那麼您應該能夠響應'Worksheet_Calculate'事件?我猜這可能會奏效,但我沒有使用DDE的經驗。 – 2012-07-25 18:27:02
@Tim什麼時候Worksheet_Calculate激發? – bkarj 2012-07-25 21:06:21
工作表計算時。我不知道DDE更改是否直接觸發計算 - 如果不是,則使用虛擬公式觸發事件(它會將DDE單元作爲輸入,這些單元中的更改應該會觸發重新計算) – 2012-07-25 22:34:00