How to check whether Word is open
Article contributed by Lutz Gentkow
Some users are very talented at opening many instances of Word, by repeatedly clicking on the shortcut, until memory or resources run out. This is particularly so with Word 97, where clicking on Word's shortcut almost always starts a new instance of Word. With Word 2000, clicking on Word's shortcut generally creates a new document using an existing instance of Word, if there is one; but if a Word dialog box is active at the time, even Word 2000 creates a new instance of Word.
So I have written the following macro to prevent users from doing this. Being an AutoExec macro, it fires automatically when you start a new instance of Word; and if it finds two open instances (the new one plus another one that was already open), then it activates the one that was already open and quits the new instance.
Sub AutoExec()
Dim Hits As Long,
oTask As Task
For Each oTask In
Tasks
If Left(oTask.Name,
14) = "Microsoft Word" Then Hits = Hits + 1
If Hits = 2
Then
oTask.WindowState =
wdWindowStateMaximize
Application.Quit
End If
Next oTask
End Sub
However, if you are using Automation to open Word from another application (such as a VB application, or Excel) and want to check whether Word is already open before you start, then you can't use the Tasks collection. Instead, use the method described in the article: Control Word from Excel.