2010-11-03 84 views
2

场景:用户要求我为他们提供一个按钮,他们可以选择一个.xls,并将数据导入到相应的列中一张桌子。将Excel文件导入Access表运行时错误'-2147352565(8002000b)'

问题:我将提供下面的代码,但基本上一旦它尝试打开工作簿,它会给我下面的错误。我已经搜索了一些解决方案,但我仍然得到这个错误。 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

哪一行导致错误? – Fink 2010-11-03 18:56:44

+1

@Fink,app.Workbooks.Open(vrtSelectedItem) – Gage 2010-11-03 19:14:13

+0

什么是'vrtSelectedItem'? – 2010-11-06 00:57:13

回答

2

嗯..工作形式我。

我注释掉四大行app.Worksheets(1).Activate后和Me![txtSelectedFile] = ...

set fd = Nothing我不得不改变到fdg

我不知道,如果事情是错误的Excel文件它的自我。你尝试过从头开始创建一个吗?

+0

原来这是excel文件。启用宏会导致此错误。做到这一点,让它打开没有他们,一切正常。谢谢 – Gage 2010-11-09 18:16:07

2

我不明白为什么app.Workbooks.Open导致该错误。但是,我会提出一些可能或可能不会帮助您确定问题的更改。

  1. Option Explicit添加到您的模块的声明部分;然后运行调试 - >从VBE主菜单编译向您展示哪些变量你没有Dim'd
  2. 包括app.Visible = TrueDim app As New Excel.Application这样就可以监视什么用Excel发生
  3. 年底前加app.QuitSet app = Nothing您程序