簡體   English   中英

workbook.close 崩潰 excel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM