EXCEL 导入 Access

标签 excel ms-access vba

我在使用 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/

相关文章:

excel - 关闭不同的工作簿结束当前工作簿的代码执行

vba - VBA 代码中出现内存不足错误

ms-access - 错误 : This recordset is not updateable

arrays - 计算两个或多个空格后字符的位置

java - "Generate entities from table"(MS Access) 在 Eclipse 中通过 UCanAccess

mysql - SQL LEFT JOIN“不支持JOIN表达式”

html - 从网络导入数据时,如何获取带有链接的数据?

excel - 隐藏不在数组中的工作表

sql - 在部署时将大量数据导入 SQL Server (Express) 数据库

vba - 在 Excel VBA 中复制大量值的最快方法