VBA检测office版本及其相应的位
我有32位和64位版本的Office 2010。如果我需要为2010 Office 32位计算机安装VSTO 2,为2010 Office 64位计算机安装VSTO 4 64位VBA检测office版本及其相应的位,vba,outlook,Vba,Outlook,我有32位和64位版本的Office 2010。如果我需要为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位。我需要
Public Function checkbitversion() As Variant
#If VBA7 Then
checkbitversion = "64"
#Else
checkbitversion = "32"
#End If
End Function
但对于所有机器,结果总是32位。我需要帮助来克服这个问题
我参考以下MSDN文章:
检查HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Office\version\Outlook中的比特值
其中,上面的版本是14.0或15.0,具体取决于Outlook版本。请从>的第二篇论坛帖子中尝试此未经测试的代码 他说,逻辑似乎是环境变量是否返回任何内容,因为该参数在32位版本中可能不存在。
根据他的描述,如果它返回某个值,则为64位,否则为32位。?您是否使用
VBA7
作为常量编译应用程序?
Function Is64bit() As Boolean
Is64bit = Len(Environ("ProgramW6432")) > 0
End Function