我想检查不同comp上的窗口版本,从而在MS Word 2007 vba上执行不同的任务。我尝试了此代码,该代码已在ms excel 2007 vba上应用,并且正在运行,但在MS word 2007 vba上却没有。
Dim TheOS As String
Dim WinType As String
TheOS = Application.OperatingSystem
MsgBox ("TheOS ")
在ms字2007 vba上,它抛出编译错误:找不到方法或数据成员。我需要什么?
如果您希望可以在所有办公产品中使用的VBA代码,则WMI是一种解决方案。
与Application.System.OperatingSystem有关的东西是它没有返回任何有趣的东西。
Application.System.Version可用。但是我使用WMI给我正确的信息。
Sub test()
Dim info As System
'Well everything is windows NT today..
Debug.Print Application.System.OperatingSystem
'Short version string MajorVersion.MinorVersion
Debug.Print Application.System.Version
Dim objWMI As Object
Dim objSystems As Object
Dim objOs As Object
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objSystems = objWMI.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOs In objSystems
Debug.Print objOs.Name 'Full name as in OS startup screen
Debug.Print objOs.Caption ' Human readable name
Debug.Print objOs.Version ' the correct windows version string
Next
Set objOs = Nothing
Set objSystems = Nothing
Set objWMI = Nothing
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句