Board logo

標題: excel 固定時間內 執行 wbe 查詢 [打印本頁]

作者: lai8061a    時間: 2014-9-10 08:11     標題: excel 固定時間內 執行 wbe 查詢

之前分享在本區的程式
模組:
Sub auto_open()
   For Each qy In Sheet8.QueryTables
      qy.Refresh BackgroundQuery:=False
    Next
      Application.OnTime Now + TimeValue("00:00:51"), "auto_open"
End Sub

我要如何在 星期一到星期五  09:00 -17:00 開起查詢 其他時間不開

謝謝板上的 大大們
作者: joey0415    時間: 2014-9-14 16:39

回復 1# lai8061a

利用autoit等軟體!設定時間打開(加入排程),如你所述

vba的程式碼可以加上某些語句,讓其執行後就會關閉
作者: GBKEE    時間: 2014-9-15 15:47

回復 1# lai8061a
試試看
  1. Option Explicit
  2. Private Sub Auto_Open()
  3.     Dim D As Integer
  4.     D = Weekday(Date, vbMonday)    '以週一為基準傳回星期幾
  5.     If D >= 1 And D <= 5 Then Ex   '週一到週五
  6. End Sub
  7. Private Sub Ex()  '與Auto_Open在同一個一般模組上的程序
  8.     Dim qy As QueryTable
  9.      If Time >= #9:00:00 AM# And Time <= #5:00:00 PM# Then
  10.          For Each qy In Sheet8.QueryTables
  11.             qy.Refresh BackgroundQuery:=False
  12.             qy.RefreshPeriod = 1
  13.             'RefreshPeriod 屬性 傳回或設定兩次更新之間的分鐘數。讀/寫 Long。
  14.         Next
  15.         Application.OnTime #5:00:01 PM#, "Ex"
  16.     ElseIf Time < #9:00:00 AM# Then
  17.         Application.OnTime #9:00:00 AM#, "Ex"   '等候於9:00執行Ex
  18.     ElseIf Time > #5:00:00 PM# Then
  19.         For Each qy In Sheet8.QueryTables
  20.             qy.RefreshPeriod = 0       '取消:兩次更新之間的分鐘數
  21.         Next
  22.         
  23.     End If
  24. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)