2010-07-25 540 views
1

我正在開發一個項目,將警報通知發送到郵件列表。我有一個使用vba宏的excel文件,可以從數據庫中進行更新。我需要每30分鐘自動執行一次宏文件,而不必打開文件。 我已經被告知在一個單獨的程序中寫這個宏,但我不知道該怎麼做。如何自動每30分鐘執行一次vba宏?

回答

5

Excel VBA DOM有一個很好的功能叫Application.OnTime。這可以安排一個宏隨時運行。要每15分鐘運行一次宏,只需在將來啓動應用程序時安排15分鐘,然後每次運行宏時安排15分鐘。

從該網站:http://www.ozgrid.com/Excel/run-macro-on-time.htm

例子:

Private Sub Workbook_Open() 
    Application.OnTime Now + TimeValue("00:15:00"), "MyMacro" 
End Sub 
+0

感謝您的鏈接。 但我如何執行宏而不必打開文件?可能嗎? – daria 2010-07-25 23:03:45

+0

@daria用額外要求更新您的問題:-) – 2010-07-25 23:12:45

+0

由於宏存儲在您的文件中,因此無法在不打開文件的情況下更新宏。 否則,您將不得不將宏寫爲單獨的程序,在這種情況下,您可以使用Windows調度程序定期運行它。 – 2010-07-25 23:14:02