1

我有 Office 2010 的 32 位和 64 位版本。如果我需要为 2010 Office 32 位机器安装 VSTO 2 并为 2010 Office 64 位机器安装 VSTO 4 64 位

Public Function checkbitversion() As Variant
#If VBA7 Then
    checkbitversion = "64"
#Else
    checkbitversion = "32"
#End If
End Function 

但对于所有机器,它始终为 32 位。我需要帮助来克服这个问题。

我参考了以下 MSDN 文章:http: //msdn.microsoft.com/en-us/library/ff700513%28v=office.11​​%29.aspx

4

2 回答 2

0

检查 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\version\Outlook 中的 Bitness 值

以上版本为 14.0 或 15.0,具体取决于 Outlook 版本。

于 2013-03-28T14:38:58.370 回答
0

从 > HERE的第二个论坛帖子中尝试此代码,未经测试。

Function Is64bit() As Boolean
Is64bit = Len(Environ("ProgramW6432")) > 0
End Function

他说The logic seems to be if that environment variable returns anything or not, as that parameter probably doesn't exist in the 32-bit version.

根据他的描述,如果它返回的东西是 64 位的,否则它是 32 位的。

于 2013-09-20T19:04:17.660 回答