Чтобы получить версию Windows с помощью VBA (Visual Basic для приложений), вы можете использовать различные методы. Ниже приведены несколько примеров:
-
Использование класса Win32_OperatingSystem:
Sub GetWindowsVersion() Dim objWMIService As Object Dim objOperatingSystem As Object Dim strVersion As String ' Create an instance of the WMI service Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") ' Query the Win32_OperatingSystem class Set objOperatingSystem = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem") ' Retrieve the Windows version For Each os In objOperatingSystem strVersion = os.Caption Next os ' Display the Windows version MsgBox "Windows Version: " & strVersion End Sub -
Использование функции API GetVersionEx:
Private Declare Function GetVersionExA Lib "kernel32.dll" (ByRef lpVersionInformation As OSVERSIONINFO) As Long Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Sub GetWindowsVersion() Dim osInfo As OSVERSIONINFO Dim strVersion As String ' Initialize the structure size osInfo.dwOSVersionInfoSize = Len(osInfo) ' Call the GetVersionEx function GetVersionExA osInfo ' Retrieve the Windows version strVersion = "Windows " & osInfo.dwMajorVersion & "." & osInfo.dwMinorVersion & " (Build " & osInfo.dwBuildNumber & ")" ' Display the Windows version MsgBox "Windows Version: " & strVersion End Sub
Это всего лишь несколько примеров. Существуют и другие способы получения версии Windows с помощью VBA. Не забудьте добавить обработку ошибок и адаптировать код в соответствии с вашими требованиями.