WD2000: Document Order Changes Using Application.Visible (210005)



The information in this article applies to:

  • Microsoft Word 2000

This article was previously published under Q210005

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. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements.
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 that this is a problem in the Microsoft products that are 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:

226118 OFF2000: Programming Resources for Visual Basic for Applications


Modification Type:MajorLast Reviewed:6/17/2005
Keywords:kbbug kbnofix KB210005