将 Excel 文件导入 Access 表运行时错误“-2147352565 (8002000b)”

Posted

技术标签:

【中文标题】将 Excel 文件导入 Access 表运行时错误“-2147352565 (8002000b)”【英文标题】:Import Excel file into Access table Run-time Error '-2147352565 (8002000b)' 【发布时间】:2010-11-03 17:55:16 【问题描述】:

场景:用户要求我为他们提供一个按钮,他们可以在其中选择 .xls,它将数据导入表中的相应列。

问题:我将提供下面的代码,但基本上一旦它尝试打开工作簿,它就会给我下面的错误。我已经搜索了许多解决方案,但我仍然收到此错误。

    Private Sub Command20_Click()
     Dim fdg As FileDialog, vrtSelectedItem As Variant
Dim strSelectedFile As String

Set fdg = Application.FileDialog(msoFileDialogFilePicker)

With fdg
  .AllowMultiSelect = False
  .ButtonName = "Select"
        .InitialView = msoFileDialogViewList
        .Title = "Select Input Files"

        'add filter for excel
        With .Filters
            .Clear
            .Add "Excel Spreadsheets", "*.xls"
        End With
        .FilterIndex = 1
    If .Show = -1 Then
      For Each vrtSelectedItem In .SelectedItems    'onby be 1
      Dim app As New Excel.Application

      app.Workbooks.Open (vrtSelectedItem)
      app.Worksheets(1).Activate
      For Each rwRow In ActiveWorkbook.Worksheets(1).Rows
        ' Do things with the rwRow object
        Next rwRow
        strSelectedFile = vrtSelectedItem
      Next vrtSelectedItem
      Me![txtSelectedFile] = strSelectedFile
    Else     'The user pressed Cancel.
    End If
End With

Set fd = Nothing
End Sub

【问题讨论】:

哪一行导致了错误? @Fink, app.Workbooks.Open(vrtSelectedItem) 【参考方案1】:

嗯.. 对我有用。

我注释掉了app.Worksheets(1).ActivateMe![txtSelectedFile] = ...之后的四行

set fd = Nothing我不得不改成fdg

我想知道 Excel 文件本身是否有问题。你尝试过从头开始创建的吗?

【讨论】:

原来是excel文件。启用宏会导致此错误。使它在没有它们的情况下打开并且一切正常。谢谢【参考方案2】:

我不明白为什么 app.Workbooks.Open 会导致该错误。不过,我会建议一些更改,这些更改可能会或可能不会帮助您识别问题。

    Option Explicit 添加到模块的声明部分;然后从 VBE 主菜单运行 Debug->Compile 以显示哪些变量还没有变暗 在 Dim app As New Excel.Application 之后包含 app.Visible = True,以便您可以监控 Excel 发生的情况 在程序结束前添加app.QuitSet app = Nothing

【讨论】:

以上是关于将 Excel 文件导入 Access 表运行时错误“-2147352565 (8002000b)”的主要内容,如果未能解决你的问题,请参考以下文章

根据参数从 Access 表导入 Excel

Access2007将Excel表导入至Access2007的当中一张已存在的表之中

如何将excel文件导入到一个oracle表中?谢谢

将文件夹中的所有文件(所有 excel 文件)导入到 access 数据库中的单个表中

如何以编程方式将 Excel 数据导入 Access 表?

Excel 工作表名称不允许使用 VBA 将数据导入 Access - DAO