簡體   English   中英

需要將xls文件另存為xlsx,關閉然后重新打開

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

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