我在使用 VBA 代码时遇到了一些问题,该代码应该将 excel 数据导入我的 Access 数据库。当我运行代码时,我收到一个运行时错误“运行时错误 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")
我尝试在调试菜单上运行编译选项,但没有弹出任何内容。
任何帮助表示赞赏,如果您认为这不是负责的代码部分,那么我可以发布剩余部分。
最佳答案
如果要将对象类型分配给变量,则需要使用 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
两行之后
关于EXCEL 导入 Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17913317/