WD2000: Document Order Changes Using Application.Visible

ID: Q210005


The information in this article applies to:


SYMPTOMS

When you use the Visual Basic for Applications Application.Visible command to hide Word, and then you use the command again to make Word visible, the viewable ordering of the open documents changes.

For example, if you open two documents in Word, Document1 and Document2, and then run the following Visual Basic for Applications commands while Document2 is the active document,


Sub HideShowApp()
    Application.Visible = False
    Application.Visible = True
End Sub 


after the procedure has run, Document1 appears to be the active document.

Running the following commands shows that the document that was active prior to hiding and then showing Word is still the active document:


Sub HideShowApp()
   Debug.Print ActiveDocument.Name
   Application.Visible = False
   Application.Visible = True
   Debug.Print ActiveDocument.Name
End Sub 

To view the results, while in the Visual Basic Editor, press CTRL+G to view the Immediate Window.


WORKAROUND

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Solution Provider or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Solution Providers, please see the following page on the World Wide Web:

http://www.microsoft.com/mcsp/
For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/refguide/

To work around this problem, you can add the following command lines to your procedure:


Sub HideShowApp()
   Application.Visible = False
   Application.Visible = True
   If Documents.Count > 1 Then              '<- Add this line.
      Tasks(ActiveDocument.Name).Activate   '<- Add this line.
   End If                                   '<- Add this line.
End Sub 


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

For more information about the Tasks object, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type "Tasks Object" in the Office Assistant or the Answer Wizard, and then click Search to view the topic.


REFERENCES

For more information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:

Q226118 OFF2000: Programming Resources for Visual Basic for Applications

Additional query words: vba


Keywords          : kbdta kbwordvba wd2000 
Version           : WINDOWS:2000
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: June 15, 1999