[英]Need to save xls file as xlsx, close and then reopen it
我收到了要在宏中使用的.xls文件。 .xls文件的問題在於它們無法處理運行宏所需的行數。 因此,為了解決該問題,我嘗試首先將發送的文件另存為.xlsx文件,然后按計划繼續處理宏。 不幸的是,一旦到達APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")
我會收到一個錯誤:對象必需。 我的代碼有什么問題? 我是否正在采取最佳方法來解決我的.xls問題?
MsgBox "Please select APPS Invoice file"
APPSInvoiceFN = Application.GetOpenFilename'
If APPSInvoiceFN = False Then ' User Pressed Cancel
MsgBox "APPS Invoice file not selected. APPS invoice will not be updated."
Application.ScreenUpdating = True
Exit Sub
Else
On Error GoTo ErrHandler
Set APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN)
On Error GoTo 0
APPSInvoiceWB.SaveAs FileFormat:=51
APPSInvoiceWB.Close savechanges:=True
APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")
嘗試
APPSInvoiceWB.SaveAs FileName:= APPSInvoiceFN & "x", FileFormat:=51
您忘記了最后一行的Set
關鍵字:
Set APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")
就此方法而言...通常,此方法可以很好地轉換格式。
我不確定,因為您已經發布了部分代碼,您是否APPSInvoiceWB
聲明為工作簿。
Dim APPSInvoiceWB as Workbook
並將這部分更改為APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")
以set APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")
您缺少Set
,因此出錯。
另外,按照蒂姆的建議進行更改
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.