微軟的相關(guān)64位與32位兼容性的文章32 位和 64 位版本的 Office 2010 之間的兼容性Office 2010
摘自:https://msdn.microsoft.com/zh-cn/library/ee691831.aspx
摘要:針對處理大量數(shù)據(jù)的客戶,Microsoft 推出了 64 位版本的 Microsoft Office 2010。本文討論有關(guān) 32 位版本與新的 64 位版本和舊的 32 位 Office 應(yīng)用程序之間兼容性的問題,并提供了相應(yīng)的解決方案。(12 個打印頁)
上次修改時間: 2011年4月7日 Microsoft Corporation 的 Frank Rice
本文內(nèi)容
介紹 32 位和 64 位版本的 Microsoft Office 2010
將 32 位系統(tǒng)與 64 位系統(tǒng)進(jìn)行比較
介紹 VBA 7 基本代碼
ActiveX 控件和 COM 加載項兼容性
應(yīng)用程序編程接口兼容性
使用條件編譯屬性
結(jié)論
其他資源
2009 年 11 月 適用范圍: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Visual Basic for Applications 7.0 (VBA 7.0) | Word 2010 內(nèi)容
[url=]介紹 32 位和 64 位版本的 Microsoft Office 2010[/url]
Microsoft Office 2010 system 同時具有 32 位和 64 位版本。64 位版本使您能夠處理更大的數(shù)據(jù)集。如果要在 Microsoft Excel 2010 中處理大量數(shù)字,則尤其需要使用此版本。 隨著新的 64 位版本 Microsoft Office 2010 的引入,Microsoft 發(fā)布了稱為 Microsoft Visual Basic for Applications 7.0 (VBA 7) 的新版本的 Microsoft Visual Basic for Applications (VBA) 以同時處理 32 位和 64 位應(yīng)用程序。需要特別注意的是,本文中介紹的更改只適用于 64 位版本的 Microsoft Office 2010。如果使用的是 32 位版本的 Office 2010,則可以不加修改地使用以前版本的 Microsoft Office 中內(nèi)置的解決方案。 注釋 | 在安裝 Office 2010 時,默認(rèn)安裝的是 32 位版本,即使在 64 位系統(tǒng)上也是如此。您必須明確 選擇 Office 2010 64 位版本安裝選項。 |
在 VBA 7 中,必須更新現(xiàn)有 Windows 應(yīng)用程序編程接口 (API) 語句(Declare 語句)才能處理 64 位版本。另外,還必須更新這些語句使用的用戶定義類型中的地址指針和顯示窗口句柄。本文將詳細(xì)討論這一點以及 32 位和 64 位版本的 Office 2010 之間的兼容性問題,并提供建議的解決方案。
[url=]將 32 位系統(tǒng)與 64 位系統(tǒng)進(jìn)行比較[/url]
使用 64 位版本的 Office 2010 構(gòu)建的應(yīng)用程序可以引用更大的地址空間,因此提供了使用比以往更多的物理內(nèi)存的機(jī)會,從而有可能減少將數(shù)據(jù)移入和移出物理內(nèi)存所需的開銷。 除了引用應(yīng)用程序用于存儲數(shù)據(jù)或存儲編程指令的物理內(nèi)存中的特定位置(又稱為指針)外,還可以使用地址來引用顯示窗口標(biāo)識符(稱為句柄)。根據(jù)您使用的是 32 位系統(tǒng)還是 64 位系統(tǒng),可確定指針或句柄的大。ㄒ宰止(jié)為單位)。 在使用 64 位版本的 Office 2010 運行現(xiàn)有解決方案時存在兩個基本問題: Office 2010 中的本機(jī) 64 位進(jìn)程無法加載 32 位二進(jìn)制文件。在使用現(xiàn)有 Microsoft ActiveX 控件和現(xiàn)有加載項時,這被認(rèn)為是一個常見問題, VBA 以前不具有指針數(shù)據(jù)類型,因此,開發(fā)人員使用 32 位變量來存儲指針和句柄。但現(xiàn)在在使用 Declare 語句時,這些變量會截斷 API 調(diào)用返回的 64 位值。
[url=]介紹 VBA 7 基本代碼[/url]
VBA 7 是新的基本代碼,取代了早期版本的 VBA。32 位和 64 位版本的 Office 2010 中均包含 VBA 7。它提供了兩個條件編譯常量:VBA7 和 Win64。通過測試您的應(yīng)用程序使用的是 VBA 7 還是以前版本的 VBA,VBA7 常量可幫助確保您的代碼的后向兼容性。Win64 常量用于測試代碼是以 32 位還是 64 位形式運行的。下文將介紹這兩個編譯常量。
[url=]ActiveX 控件和 COM 加載項兼容性[/url]
第三方及 Microsoft 提供的現(xiàn)有 32 位 ActiveX 控件與 64 位版本的 Office 2010 不兼容。對于 ActiveX 控件和 COM 對象,有三種可能的解決方案:
[url=]
[/url]
|