需要将xls文件保存为xlsx,closures然后重新打开它

我发送了一个.xls文件来处理我的macros。 .xls文件的问题是,他们无法处理我需要运行我的macros的行数。 所以,为了解决这个问题,我试图首先保存我作为.xlsx文件发送的文件,然后按照计划继续使用macros。 不幸的是,一旦我达到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") 

您在最后一行忘了Set关键字:

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

至于方法去…这种方法一般应该很好地转换格式。

尝试

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

我不知道,因为你已经张贴部分代码,你宣布APPSInvoiceWB作为工作簿。

Dim APPSInvoiceWB as Workbook

并更改此部分APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")set APPSInvoiceWB = Workbooks.Open(APPSInvoiceFN & "x")

你缺lessSet ,所以错误。

另外,请按照Tim的build议进行更改