我有一個宏在一個XLSM工作簿的模塊中刷新所有外部數據,然後保存並關閉該工作簿。如何使用VBScript有效刷新多個Excel電子表格的外部數據?
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.Quit
我用VBScript文件來運行宏作爲計劃任務的一部分
objExcel.Workbooks.Open(fname)
objExcel.Visible = True
On error resume next
objExcel.Run "RefreshAllData"
問:我怎樣才能重新使用現有的工作簿中的現有宏刷新多個其他的所有數據工作簿? (即,我正在尋找對VBScript文件的必要修改,我想最大限度地減少對宏本身的更改。文件名將包含在VBScript文件中)TIA。
我會按照你的建議。非常簡潔的答案。謝謝Ansgar。 – Sam
這是黃金!對此我只有一個問題。當我運行它時,出現一個彈出框:「這將取消未完成的數據刷新。」[OK] [Cancel]「 我假設它是因爲數據刷新沒有足夠的時間運行,有沒有辦法讓它在保存和關閉之前等待刷新完成? @Ansgar Wiechers – KhalidN
@KhalidN您似乎在某處有[異步查詢](https://msdn.microsoft.com/en-us/library/office/ff835909.aspx)。將其更改爲同步的,或者在保存/關閉工作簿之前添加延遲('WScript.Sleep')。 –