2017-02-20 88 views
0

我需要在Excel中每小時更新一次實時數據,並通過路透社插件提供。這通常是自動的,但因爲我通過不同類型的數據進行提交,所以只有在您手動點擊「刷新」按鈕時纔會刷新。因此,除非我能找到讓VBA每小時點擊一次該按鈕的方法,否則我的整個模型都是無用的......哈哈!讓VBA點擊插件工具欄上的按鈕... CommandBars?

我一直在閱讀,這樣的任務可能可以通過commandBars,但在所有誠實中,我正在努力弄清楚在線示例。

任何幫助將不勝感激。

謝謝,

回答

0

你可以試試這段代碼。您可以運行一個調度程序,它將運行一個宏以在固定時間間隔內啓動您需要的宏。

Private Sub Workbook_Open() 

Do While TimeValue(Now) < "23:59:59" 
    ' Enter the name of the Macro that you want to run in the NAME OF MACRO field 
    Application.OnTime TimeValue(Now), "NAME OF MACRO" 

    newHour = Hour(Now()) 
    newMinute = Minute(Now()) + 10 
    newSecond = Second(Now()) 
    waitTime = TimeSerial(newHour, newMinute, newSecond) 
    'Waits for 10 minutes 
    Application.Wait waitTime 
Loop 

End Sub 

在工作簿打開事件中運行此宏。訪問工作簿對象(ThisWorkbook)的私有模塊的最快方法是右鍵單擊「文件」旁邊的Excel圖標並選擇「查看代碼」。我已經安排了10分鐘。您可以根據您需要的頻率進行更改。

但是這個代碼有它的侷限性。你將不得不離開Excel的所有時間。此外,您將無法運行任何其他宏。如果這是需要全天運行的東西,我建議您在專用系統中運行該excel,否則我們將不得不按照您的特定要求更改代碼。

希望這個解決方案可以幫助你!讓我知道你是否需要進一步的幫助。

+0

'OnTime'是一個不錯的選擇,但它沒有正確實施,請參閱http://www.cpearson.com/excel/OnTime.aspx。使用'Application.Wait'將使Excel停留在VBA中。 – R3uK