0

I need read data SQLite into Excel. And I found a few solution at (#1, #2). I choose SQLite for Excel of @Govert. My excel is 64bit version, so i've downloaded and replaced sqlite3.dll(32bit) by sqlite3.dll(64bit) then update the VBA declares:

...Declare Function... change to ...Declare PtrSafe Function...

But I'm still cannot run demo Module1.MyTestSQlite in SQLiteForExcel.xls . And error output in VBE Immediate Window:

SQLite3Initialize Error Loading C:\Users\davuz\Downloads\SQLiteForExcel-0.7\Distribution\SQLite3_StdCall.dll: 193 Error Initializing SQLite. Error: 193

How to fix sqliteforexcel to run with Excel 64bit? Thank for help?

4

1 に答える 1

4

私(SQLite for Excelの人)はまだ64ビットVBA宣言を理解しようとはしていません-64ビット用にコンパイル済みのSQLiteライブラリがあることに気づきました。これは私たちに大いに役立ちます。

最初に注意することは、64ビットの場合、SQLite3_StdCall.dll中間体はまったく必要ないということです。これは、呼び出し規約の再マッピングが必要な32ビットの場合にのみ必要です。したがって、64ビットの場合、VBAファイル内のすべての.dll参照はSQLite3.dllを直接参照する必要があります。

次に、PtrSafeの変更で正しい方向に進んでいると思います。しかし、VBA64ビットポインタ宣言がどのように機能するのか正確にはわかりません。また、「Long」引数のどれが実際にポインタであるかを把握する必要があります。

ですから、やるべきことがまだ少しあります...

編集:

終わり。SQLite for Excelの更新されたバージョン0.8には、64ビットExcelのVBA宣言、更新されたテスト、および64ビットSQLite3.dllのコピーが含まれています。

于 2012-07-24T12:26:59.417 に答える