Excel宏正在绘制'运行时错误'1004'

时间:2018-01-30 02:36:48

标签: excel excel-vba vba

我知道还有很多其他线程,但我不太了解VBA代码,我似乎无法理解所提供的解决方案。我能够从网上复制一个现有的宏并在我的计算机上使用Excel 2013,但是一旦我在2003年的另一台计算机上尝试它,我就会弹出这个错误。 (运行时错误'1004'对象'_Workbook'的方法'SaveAs'失败了)有人能告诉我需要在代码中更改的内容吗?

Sub ConvertToXlsx()
    Dim strPath As String
    Dim strFile As String
    Dim wbk As Workbook
    ' Path must end in trailing backslash
    strPath = "T:\"
    strFile = Dir(strPath & "*.xls")
    Application.DisplayAlerts = False
    Do While strFile <> ""
        If Right(strFile, 3) = "xls" Then
            Set wbk = Workbooks.Open(Filename:=strPath & strFile)
            wbk.SaveAs Filename:=strPath & strFile & "x", _
                FileFormat:=xlOpenXMLWorkbook
            wbk.Close SaveChanges:=False
        End If
        strFile = Dir
    Loop
Application.DisplayAlerts = True
End Sub

1 个答案:

答案 0 :(得分:2)

问题在于:

FileFormat:=xlOpenXMLWorkbook

Excel 2003无法识别(也没有)xlOpenXMLWorkbook文件格式。

xlExcel8应该有效。直接来自链接:

  

这些是Excel 2007中的主要文件格式:

     

51 = xlOpenXMLWorkbook(2007年没有宏,.xlsx)

     

52 = xlOpenXMLWorkbookMacroEnabled(2007年有或没有宏,.xlsm)

     

50 = xlExcel12(2007年的Excel二进制工作簿,有或没有宏,.xlsb)

     

56 = xlExcel8(Excel 2007中的97-2003格式,.xls)