运行时错误424对象需要docmd转页导入

时间:2018-10-14 05:57:29

标签: excel vba excel-vba ms-access access-vba

我正在使用以下代码来面对这个问题:

    Dim strPathFile As String, strFile As String, strPath As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean
    blnHasFieldNames = True

    strPath = "C:\Report\ImportFile\"
    strTable = "Ex_Table"

    strFile = Dir(strPath & "*.xlsx")

          strPathFile = strPath & strFile
          Debug.Print strPathFile
          DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
                strTable, strPathFile, blnHasFieldNames

我正在尝试将其导入到Access数据库中Sample.xlsx中的表格。我浏览了很多帖子,但找不到解决该问题的答案。

我正在使用Excel 2016和Access 2016。

访问数据库路径和名称-C:\ Report \ Database \ dbname.accdb

1 个答案:

答案 0 :(得分:1)

您正在尝试处理XLSX工作簿,但是acSpreadsheetTypeExcel9(解析为8)是Microsoft Excel 2000格式说明符(XLS)。 .XLSX工作簿需要Microsoft Excel 2010格式的acSpreadsheetTypeExcel12(例如9),或者更优选Microsoft Excel 2010/2013/2016 XML格式(.xlsx,.xlsm,.xlsb)的acSpreadsheetTypeExcel12Xml(例如10)。

AcSpreadSheetType enumeration