我遇到了一些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")
我试图在调试菜单上运行编译选项,但没有任何加速。 任何帮助都表示赞赏,如果您认为这不是代码的一部分负责,那么我可以发布剩余的。
答案 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
两行