|
|
|
 |
How to find out whether the current document is running in another
application (such as Internet Explorer, Outlook, etc.)
|
Article contributed by Will Rickards and Dave Rado
When you open a Word document in another application, such as Internet
Explorer, and then subsequently open Word in the normal way, you unfortunately
don't get two separate instances of Word, you get one. If you have written event
procedures, or intercepted Word commands,
then depending on the circumstances, they may still run when you are in a
document that is running inside another application. However, many VBA functions
don't work in that scenario, and some actually crash Word. So you may sometimes
need to allow, in your code, for the possibility that the active document might
be running inside
another application.
Two simple examples of VBA functions that won't work in this scenario are Application.Quit
and ActiveDocument.Close, which both give the error This method or property is not
available because the document is in another application.
You can test for this scenario using the following code:
If Documents.Count > 1 Then
If Len(ActiveWindow.Caption) = 0
Then
'The document
is running within another application
End If
End If
Unfortunately, it seems that you can't find out which application it
is running in, because:
MsgBox ActiveDocument.Application.Name
... returns Microsoft Word. Confusing, huh!
|