[英]workbook.close crashes excel
我正在嘗試打開 excel 文件,打印它,然后單擊按鈕將其關閉。
它打開,打印,關閉我的文件,然后 excel 就崩潰了。
沒有警告,它只是關閉所有內容(2 個文件)並通過打開我的文件的“版本 1”重新啟動。
Workbooks.Open "Thenameofmywb.xlsm"
Workbooks("Thenameofmywb").PrintOut
Application.CutCopyMode = False
Application.Wait (Now + TimeValue("0:00:05"))
Workbooks("Thenameofmywb.xlsm").Close SaveChanges:=True
這是我的一些代碼,我嘗試了 Doevents 方法和許多其他小東西,但都沒有奏效。
也許你能幫助我。
您沒有對文件進行任何更改,只是訪問它、打印和關閉它。 所以最后一部分應該是 SaveChanges:= false
在子過程的開頭也有“On Error Resume Next”。
下面的代碼適用於我,使用 Nathan 使用 object 的想法。
Sub qqq()
Workbooks.Open "C:\Users\info\Documents\HHH.xlsx"
Set wb = Workbooks(2)
wb.PrintOut
Application.CutCopyMode = False
Application.Wait (Now + TimeValue("0:00:05"))
wb.Close
End Sub
我什至嘗試了以下代碼並且它有效:
Sub hhh()
Workbooks.Open "C:\Users\info\Documents\HHH.xlsx"
Set wb = Workbooks(2)
wb.PrintOut
'Application.CutCopyMode = False
'Application.Wait (Now + TimeValue("0:00:05"))
wb.Close
End Sub
我注釋掉了兩行代碼。 我正在使用 xlsx 作為需要打印的文件進行測試。 如果您使用的是 xlsm,則可能有一些代碼可能會造成影響。 您仍然可以使用 xlsm,但同時打開 2 個工作簿的代碼可能會導致問題。
我找到了。 我認為這與我編寫的代碼無關或與代碼無關。
我打開的文件一定已損壞。 我用“干凈”的文件進行了測試,它工作正常。
所以我將“損壞”文件中的信息復制並粘貼到一個新文件中,現在它運行良好。
現在我不知道他們是如何被破壞的,但那是另一次了。
謝謝大家的幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.