2016-01-14 381 views
0

我需要一種計劃方式來自動打開Excel文件,刷新內容然後保存並關閉它。運行宏時出現未知運行時錯誤

我已經完成了此操作,但我無法再打開該文件,因爲打開它會導致刷新的宏保存並關閉要運行的文件。

我在嘗試多種方法後考慮了VBScript。我在這裏找到了這個代碼。

Dim objExcel, objWorkbook 
Set objExcel = CreateObject("Excel.Application") 
Set objWorkbook = objExcel.Workbooks.Open("C:\...\Finances.xlsm") 
objExcel.Visible = True 
objExcel.Run "Refresh" 
objExcel.Quit 

Set objWorkbook = Nothing 
Set objExcel = Nothing 

WScript.Quit 

VBScript代碼打開Excel文件並觸發裏面的宏Refresh。宏刷新數據然後保存並關閉文件。

但是,儘管代碼似乎運行正常,但仍出現以下錯誤。

"Unknown Runtime Error" in line 5

+0

Excel宏「刷新」是否可能有一行代碼關閉Excel工作簿?如果是這樣,那麼你的VBS會因運行時錯誤而等待'objExcel.Run'刷新''被完成,然後關閉Excel WorkBook。 –

+1

你需要顯示宏代碼。 –

回答

0

如果你不想當您打開工作簿任何自動運行,放線

objExcel.EnableEvents = False 

您打開工作簿之前。如果需要,您可以稍後將其設置回True。您仍然應該能夠運行Refresh。不知道是否能解決你未知的錯誤,我不知道。

0

您正在退出對象而未關閉objWorkbook打開的工作簿。保存與否,這將產生錯誤崩潰的打開工作簿。