用于Excel的SQLite支持64位Excel

我需要读取数据SQLite到Excel中。 我在( #1 , #2 )find了一些解决scheme。 我select了@Govert的SQLite for Excel的SQLite。 我的Excel是64位版本,所以我已经下载并通过sqlite3.dll(64位)replacesqlite3.dll(32位),然后更新VBA声明:

...Declare Function...更改为...Declare PtrSafe Function...

但是我仍然无法在SQLiteForExcel.xls运行SQLiteForExcel.xls 。 和VBE Immediate Window错误输出:

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

如何解决sqliteforexcel与Excel 64位运行? 感谢帮忙?

我( SQLite的Excel人)实际上并没有试图找出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声明,更新的testing和64位SQLite3.dll的副本。