📅  最后修改于: 2023-12-03 15:20:57.832000             🧑  作者: Mango
当使用 VBA 开发应用程序时,可能需要检查操作系统是32位还是64位,以保证应用程序能够正确地运行。
下面是使用 VBA 在 Windows 操作系统上检测位数的示例代码。
Private Function Is64Bit() As Boolean
Dim os As String
Dim regType As Long
Dim value As Variant
Dim shell As Object
'获取操作系统信息
os = Environ("PROCESSOR_ARCHITECTURE")
If os = "x86" Then
'操作系统是32位
Is64Bit = False
Else
'操作系统是64位
regType = &H80000002 '64位系统注册表类型
Set shell = CreateObject("WScript.Shell")
value = shell.RegRead("HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\", "Identifier", regType)
If value = "Intel64" Or value = "AMD64" Then
Is64Bit = True
Else
Is64Bit = False
End If
End If
End Function
Environ()
函数获取当前进程的环境变量,其中 PROCESSOR_ARCHITECTURE
环境变量表示操作系统的处理器架构。PROCESSOR_ARCHITECTURE
等于 "x86",则说明操作系统是32位,返回 False
。PROCESSOR_ARCHITECTURE
不等于 "x86",则说明操作系统是64位,需要进一步检查。True
,否则返回 False
。