1

我在使用 VBA 代码时遇到了一些问题,该代码应该将 excel 数据导入我的访问数据库。当我运行代码时,我收到一个运行时错误“运行时错误 438 对象不支持此属性或方法”。来自我在其他论坛上的阅读;我知道这个问题可能是一个库问题(在使用另一个库时引用一个库)我对 VBA 有点陌生。我不知道它是否相关,但在出现此错误之前,我解决了“erreur 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")

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

4

1 回答 1

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稍后重新分配两行

于 2013-07-28T22:32:41.950 回答