代码之家  ›  专栏  ›  技术社区  ›  Gage

将Excel文件导入访问表运行时错误“-2147352565(8002000B)”。

  •  2
  • Gage  · 技术社区  · 15 年前

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

    问题:我将提供下面的代码,但基本上,一旦它试图打开工作簿,它会给我下面的错误。我在谷歌上搜索了很多解决方案,但我仍然收到这个错误。 alt text

        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
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   BIBD    15 年前

    六羟甲基三聚氰胺六甲醚。。我的作品。

    我把后面的四行注释掉了 app.Worksheets(1).Activate 以及 Me![txtSelectedFile] = ...

    这个 set fd = Nothing 我不得不换成 fdg

    我想知道Excel文件本身是否有问题。你试过白手起家的吗?

        2
  •  2
  •   HansUp    15 年前

    我不明白为什么 app.Workbooks.Open 导致那个错误。但是,我会建议进行一些可能有助于您识别问题的更改。

    1. 添加 Option Explicit 到模块的声明部分;然后从vbe主菜单运行debug->编译,以显示未调暗的变量。
    2. 包括 app.Visible = True 之后 Dim app As New Excel.Application 所以你可以监控Excel的运行情况
    3. 添加 app.Quit 和 Set app = Nothing 在手术结束前
    推荐文章