【问题标题】:how to use MS word 2007 vba to check window verion如何使用 MS word 2007 vba 检查窗口版本
【发布时间】:2014-04-04 07:22:05
【问题描述】:

我想检查不同 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 word 2007 vba 上,它再次出现编译错误:未找到方法或数据成员。我需要什么?

【问题讨论】:

  • 有点不清楚,所以请注意Application.OperatingSystem 返回的是 Office 版本而不是 Windows。 IE。我在 64 位 Windows 上,但我有 32 位版本的办公室,所以我得到 Windows (32-bit) NT 6.01 返回的办公室正在使用什么。在 Word 中,您可以使用 Application.System.OperatingSystem 实现类似的效果
  • 我在 excel 2007 vba 中使用上面的编码,window xp 上的结果是 "Windows (32-bit) NT 5.01" 和 "Windows (32-bit) NT 6.01" for win7

标签: vba ms-word word-2007


【解决方案1】:

如果您想要可以在所有办公产品中使用的 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

【讨论】:

  • 我需要将“Application.System.Version”与 WinXP 和 Win7 区分开来。感谢“Application.System.OperatingSystem”在两个操作系统上只返回“Window NT”...哈哈...很奇怪..但是“Application.OperatingSystem”如何在 excel vba 中工作,它返回“Windows(32 位)NT 5.01”(只是感到困惑)
  • 总是很乐意提供帮助,如果您认为我的答案就是答案,请将其标记为答案;)。或者做出你自己的答案,只显示你需要的部分。我们希望结束尽可能多的问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多