VBS / 使 Word 文档可见



我有一个简单的脚本,我想运行它,它会检查是否有打开的word文档,如果它打开了,则使其可见。它可以是任何word文档,所以我不能专门针对任何文件名。

这是到目前为止的代码:

Dim Word
Set Word = GetObject(, "Word.Application")
If Word Is Nothing Then
    MsgBox "Is not running"
Else
    MsgBox "Is running"
    Word.Visible = True
End If

除了Word.Visible = True之外,一切都有效。弹出窗口显示"正在运行",但 Word 文档不会显示在前面、选中或根本不可见。我错过了什么?谢谢!

更新的详细信息:

我什至像这样尝试过...

Dim Word
Set Word = GetObject(, "Word.Application")
Word.Visible = True
Word.Selection.TypeText "Hello Word"

使用此代码...只要 Word 当前处于打开状态,它就应该使其可见,然后写 Hello Word。它确实写了 Hello Word,但不使其可见。我运行它的一个,我可以看到 Word 在我的任务栏中闪烁,因为添加了 Hello Word,但仍然不可见。希望对您有所帮助!

您似乎误解了Visible属性的工作原理。该属性定义应用程序是否可见(如"任务栏中是否显示")。

显然,您的应用程序已经可见(否则您将无法看到它在任务栏中闪烁),但您真正想要的是取消最小化它并将其放在前面。WindowState属性应为您执行此操作:

Const wdWindowStateNormal   = 0
Const wdWindowStateMaximize = 1
Const wdWindowStateMinimize = 2
Set wd = GetObject(, "Word.Application")
If wd Is Nothing Then
  MsgBox "Is not running"
Else
  MsgBox "Is running"
  wd.WindowState = wdWindowStateNormal
End If
Set oWord = CreateObject ("Word.Application")
oWord.Visible = True

最新更新