VBS /使Word文档可见

时间:2014-02-20 05:43:38

标签: vbscript ms-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外,一切正常。弹出窗口显示"正在运行"但文字这个词并没有被带到前面,被选中或者可见。我错过了什么?谢谢!

更新详情:

我甚至试过这样......

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

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

2 个答案:

答案 0 :(得分:1)

Set oWord = CreateObject ("Word.Application")

oWord.Visible = True

答案 1 :(得分:1)

您似乎误解了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