- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
3#
發表於 2014-9-15 15:47
| 只看該作者
回復 1# lai8061a
試試看- Option Explicit
- Private Sub Auto_Open()
- Dim D As Integer
- D = Weekday(Date, vbMonday) '以週一為基準傳回星期幾
- If D >= 1 And D <= 5 Then Ex '週一到週五
- End Sub
- Private Sub Ex() '與Auto_Open在同一個一般模組上的程序
- Dim qy As QueryTable
- If Time >= #9:00:00 AM# And Time <= #5:00:00 PM# Then
- For Each qy In Sheet8.QueryTables
- qy.Refresh BackgroundQuery:=False
- qy.RefreshPeriod = 1
- 'RefreshPeriod 屬性 傳回或設定兩次更新之間的分鐘數。讀/寫 Long。
- Next
- Application.OnTime #5:00:01 PM#, "Ex"
- ElseIf Time < #9:00:00 AM# Then
- Application.OnTime #9:00:00 AM#, "Ex" '等候於9:00執行Ex
- ElseIf Time > #5:00:00 PM# Then
- For Each qy In Sheet8.QueryTables
- qy.RefreshPeriod = 0 '取消:兩次更新之間的分鐘數
- Next
-
- End If
- End Sub
複製代碼 |
|