我有一个我想要运行的简单脚本,它检查是否有单词文档打开,如果它已打开,则将其显示为可见。它可以是任何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,但仍然没有让它可见。希望有所帮助!
答案 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