我正在從運行Access 2010的32位Office計算機編譯我的Access數據庫。我將作爲.accdr文件進行部署以用於Access 2010 Runtime。我引用:將32位訪問系統部署到64位Office計算機
VBE7.DLL
MSACC.OLB
STDOLE2.TLB
ACEDAO.DLL
EXCEL.EXE
msxml6.dll
我需要部署到一系列平臺,包括64位2010年,2013年等。
因爲部署的系統將使用Access 2010 Runtime,所以我認爲大多數參考都沒有問題。但是,Excel會給我一個問題。我曾試着註冊Excel引用(實際上是所有引用,以防任何其他版本因機器而異),但似乎我無法從32位系統註冊64位版本的Excel。或者我可以嗎?
此外,如果我使用的是Runtime 2010,是否還需要更改API調用(使用PtrSafe關鍵字)?
這裏有一些API調用我做的:
Declare Function aht_apiGetOpenFileName Lib "comdlg32.dll"
Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean
Private Declare Function apiGetLocaleInfo Lib "kernel32"
Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Declare Function LoadLibraryRegister Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName$) As Long
Public Declare Function SetDllDirectoryA Lib "kernel32" (ByVal lpPathName As String) As Long
Private Declare Function GetProcAddressRegister Lib "kernel32" Alias _
"GetProcAddress" (ByVal hModule&, ByVal lpProcName$) As Long
Private Declare Function CreateThreadForRegister Lib "kernel32" Alias "CreateThread" (lpThreadAttributes As Any, ByVal dwStackSize&, ByVal lpStartAddress&, ByVal lpparameter&, ByVal dwCreationFlags&, ThreadID&) As Long
你有沒有聽說過有條件的編譯? – 2014-09-02 08:44:59
是的,我開始學習所有關於#如果我們說的是Win64,但我仍不清楚是否可以從32位版本的Access註冊64位版本的Excel。你能幫我嗎? – 2014-09-02 09:52:03