原設計的32位系統下打開excel表格,到64位系統下就出錯了,求高手幫忙指點,謝謝。
uj5u.com熱心網友回復:
系統問題吧。我前段時間寫的一個程式,也會用到Excel表格:
用Excel的COM物件操作表格,用來讀取檔案資料,或者創建表格輸出資料、并保存到xls格式的檔案中。
在這些環境中都可以正常運行:
1. Win7專業版32位 + 32位的Office 2007
2. Win7旗艦版 64位 SP1 + 32位Office 2007
3. Win10專業版 64位 + 64位Office 2010
4. WinXP + Office 2003
uj5u.com熱心網友回復:
VBA有沒有參考的內容出現丟失的情況,若有洗掉重新參考uj5u.com熱心網友回復:
沒有丟失
uj5u.com熱心網友回復:
在64位Windows下:64位exe和dll在目錄c:\windows\system32目錄下;
32位exe和dll在目錄c:\windows\syswow64目錄下;
所以要注意:
在win64位系統下注冊32位ocx或dll需要將32位ocx或dll拷貝到c:\windows\syswow64\目錄下。
且注冊要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
在win64位系統下設定32位程式使用的資料庫別名要用c:\windows\syswow64\cliconfg.exe
在win64位系統下設定32位程式使用的系統DSN要用c:\windows\syswow64\odbcad32.exe
64 位 Windows 平臺注意點之檔案系統重定向 http://www.cnblogs.com/jiake/p/4981555.html
64 位 Windows 平臺注意點之注冊表重定向 http://www.cnblogs.com/jiake/p/4956218.html
uj5u.com熱心網友回復:
右鍵選擇屬性,兼容性,選擇XPuj5u.com熱心網友回復:
編譯的時候把“declare function”改成“declare ptrsafe function”?今天剛遇到這個問題,就是這么解決的。
uj5u.com熱心網友回復:
向你這么不會問問題的真少見,像下面那些不知道樓主遇到什么具體問題就隨便回答的更少見。uj5u.com熱心網友回復:
報錯內容?缺了什么ocx嗎uj5u.com熱心網友回復:
樓主你好,如果樓主撰寫的程式中有API的參考,比如那種 declare function/sub之類的,在64位的環境下,要加SafePtr運算子,還有那些Long的變數,都要改成LongPtr,但是這些東西在32位的dll里面不能存在。uj5u.com熱心網友回復:
你說的“LongPtr”問題,是64位環境中呼叫32位API的“原始碼”才用到的。
而樓主說的是“VB程式”,對于編譯后的exe程式,無論是VB6的還是VB.NET的, 都是“不存在LongPtr問題的”。
LongPtr 只存在于“原始碼”中…………
uj5u.com熱心網友回復:
樓主怎么完全沒有回音了?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/48494.html
標籤:VBA
