0

我需要将数据 SQLite 读入 Excel。我在(#1#2)找到了一些解决方案。我选择SQLite for Excel@Govert。我的 excel 是 64 位版本,所以我已经下载并用 sqlite3.dll(64bit) 替换了 sqlite3.dll(32bit) 然后更新 VBA 声明:

...Declare Function...改成...Declare PtrSafe Function...

但我仍然无法在SQLiteForExcel.xls. 和错误输出VBE Immediate Window

SQLite3Initialize 加载 C:\Users\davuz\Downloads\SQLiteForExcel-0.7\Distribution\SQLite3_StdCall.dll 时出错:193 初始化 SQLite 时出错。错误:193

如何修复 sqliteforexcel 以使用 Excel 64 位运行?感谢帮助?

4

1 回答 1

4

我(Excel 的 SQLite人)实际上还没有尝试弄清楚 64 位 VBA 声明 - 我只是注意到现在有一​​个预编译的 64 位 SQLite 库,这对我们有很大帮助。

首先要注意的是,对于 64 位情况,您根本不需要 SQLite3_StdCall.dll 中间体。仅在调用约定需要重新映射的 32 位情况下才需要。因此对于 64 位,VBA 文件中的所有 .dll 引用必须直接引用 SQLite3.dll。

接下来,我认为您在 PtrSafe 更改方面走在了正确的轨道上。但我不确定 VBA 64 位指针声明是如何工作的。人们还必须弄清楚哪些“长”参数实际上是指针。

所以还有一点事情要做...

编辑:

完毕。SQLite for Excel 的更新版本 0.8 现在包括 64 位 Excel 的 VBA 声明、更新的测试和 64 位 SQLite3.dll 的副本。

于 2012-07-24T12:26:59.417 回答