让VBA点击插件工具栏上的按钮... CommandBars?

问题描述:

我需要在Excel中每小时更新一次实时数据,并通过路透社插件提供。这通常是自动的,但因为我通过不同类型的数据进行提交,所以只有在您手动点击“刷新”按钮时才会刷新。因此,除非我能找到让VBA每小时点击一次该按钮的方法,否则我的整个模型都是无用的......哈哈!让VBA点击插件工具栏上的按钮... CommandBars?

我一直在阅读,这样的任务可能可以通过commandBars,但在所有诚实中,我正在努力弄清楚在线示例。

任何帮助将不胜感激。

谢谢,

你可以试试这段代码。您可以运行一个调度程序,它将运行一个宏以在固定时间间隔内启动您需要的宏。

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