EXCEL导入Access

时间:2013-07-28 21:57:26

标签: excel vba excel-vba access-vba

我遇到了一些VBA代码的问题,应该将excel数据导入我的访问数据库。当我运行代码时,我得到一个RunTime错误“运行时错误438对象不支持此属性或方法”。从我在其他论坛的阅读;我知道问题可能是库问题(在使用另一个库时引用库)我对VBA有些新意。我不知道它是否相关,但在我有这个错误之前我有一个“错误的429 activeX组件无法创建对象”,我解决了。

这是我认为负责的代码部分。

      On Error GoTo erreur

'déclaration des variables
Dim app As Object
Dim wkb As Object
Dim wks As Object

'initialisation des variables
Set app = CreateObject("Excel.Application")
Set wkb = app.Workbooks.Add
Set wks = wkb.Worksheets(1)
wkb = app.Workbooks.Open("C:\Users\souleimane\Desktop\Internship\donnee_excel\table_de_corresp.xls")
wks = wkb.Worksheets("sheet1")

我试图在调试菜单上运行编译选项,但没有任何加速。 任何帮助都表示赞赏,如果您认为这不是代码的一部分负责,那么我可以发布剩余的。

1 个答案:

答案 0 :(得分:3)

如果要为变量指定对象类型,则需要使用Set,因此最后两行应为:

Set wkb = app.Workbooks.Open("C:\Users\souleimane\Desktop\Internship\donnee_excel\table_de_corresp.xls")
Set wks = wkb.Worksheets("sheet1")

此外,您可以省略这些内容:

Set wkb = app.Workbooks.Add
Set wks = wkb.Worksheets(1)

取决于您是否在代码中稍后使用添加的工作簿。你绝对可以省略Set wks = wkb.Worksheets(1),因为该行没有副作用,你稍后重新分配wks两行