- 帖子
- 764
- 主題
- 254
- 精華
- 0
- 積分
- 1031
- 點名
- 0
- 作業系統
- windows 11
- 軟體版本
- OFFICE2021
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2011-5-30
- 最後登錄
- 2025-6-7
|
13#
發表於 2014-10-18 06:10
| 只看該作者
本帖最後由 t8899 於 2014-10-18 06:22 編輯
回復 t8899
1. 是否可以說明這個程式的用意為何?
如此才能真正幫你達到,你想要追求的效果。
..
蝕光迴狼 發表於 2014-10-17 22:58  1. 是否可以說明這個程式的用意為何?
如此才能真正幫你達到,你想要追求的效果。
1分鐘執行1次zzzzz程序
有時莫名其妙??秒,會執行1次,這種情形出現後,按停止鈕還在執行,只能關掉excel
Sub IE345678()
If Not Ie Is Nothing Then
MsgBoxTest 0, "IE345678 已執行", "提示訊息", vbSystemModal, 0, 2000
Exit Sub
End If
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Navigate "http://newmis.twse.com.tw/stock/group.jsp?ex=tse&ind=TIDX#STATISTICS"
Do While Ie.Busy Or Ie.ReadyState <> 4: DoEvents: Loop
timestock
End Sub
-------------------------------------------------
Sub timestock()
my = #12:01:00 AM#
The_Time = Time + my
Application.OnTime The_Time, "timestock"
'-------------------------------------------------------
zzzzz ' 主要程序
'------------------------------------------------------------------------------------------
If Not Ie Is Nothing Then
Application.OnTime The_Time, "timestock", Schedule:=False
Ie.Quit
Set Ie = Nothing
End If
Exit Sub
3. 建議你可以設立2個按鈕【程式開始啟動】與【程式停止】會比較好。
因為有關於時間,程式的寫法都是要即時更近的,就會發生你這種”程式停不下來”的窘境。
我本來就是做兩個按扭,但我也有把這兩個程序擺在 Private Sub Worksheet_Calculate() 裡
Private Sub Worksheet_Calculate()
If TimeValue(Now) = TimeValue("13:24:51") Then
IE345678
End If
If TimeValue(Now) = TimeValue("13:30:30") Then
ASTOP
End If
end sub
---------------------------------------------------
Sub ASTOP()
If Not Ie Is Nothing Then
On Error Resume Next
Ie.Quit
Application.OnTime The_Time, "timestock", Schedule:=False
MsgBoxTest 0, "已停止 ", "提示訊息", vbSystemModal, 0, 350
End If
End Sub |
|