2015-09-25 98 views
0

我發送了一個.xls文件以在我的宏中使用。 .xls文件的問題在於它們無法處理運行我的宏所需的行數。因此,爲了解決這個問題,我試圖首先保存我作爲.xlsx文件發送的文件,然後按照計劃繼續使用宏。不幸的是,一旦我達到 APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")我收到一個錯誤:對象需要。我的代碼有什麼問題?我是否正在採取最佳方法解決我的.xls問題?需要將xls文件保存爲xlsx,關閉然後重新打開它

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") 

回答

2

的建議你忘了在最後一行的Set關鍵字:

Set APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x") 

至於方法去......這種方法一般應該正常工作到轉換格式。

2

嘗試

APPSInvoiceWB.SaveAs FileName:= APPSInvoiceFN & "x", FileFormat:=51 
1

我不知道,BU爲您發佈部分代碼,你有沒有宣佈APPSInvoiceWB爲工作簿。

Dim APPSInvoiceWB as Workbook

並改變這部分 APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")set APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")

你缺少Set,因此錯誤。

此外,更改由Tim

相關問題