让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,否则我们将不得不按照您的特定要求更改代码。
希望这个解决方案可以帮助你!让我知道你是否需要进一步的帮助。
'OnTime'是一个不错的选择,但它没有正确实施,请参阅http://www.cpearson.com/excel/OnTime.aspx。使用'Application.Wait'将使Excel停留在VBA中。 – R3uK