XL97: Workbook Created via Automation Opens as Hidden

ID: Q193432

The information in this article applies to:

SYMPTOMS

When you open a workbook in Microsoft Excel, the workbook window may be hidden.

CAUSE

This problem will occur if the following conditions are true:

WORKAROUND

To work around the problem, use the appropriate method.

Method 1: If the Workbook Has Already Been Created

If the workbook has already been created, you must unhide it. To do this, follow these steps:

1. On the Window menu, click Unhide.

2. In the Unhide Workbook list, click to select your workbook, and then

   click OK..

3. On the File menu, click Save.

The workbook will not be hidden the next time you open it.

Method 2: Change the Visual Basic for Applications Code

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 the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following Microsoft World Wide Web site:

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

To work around the problem, you can add a line of code to the Visual Basic for Applications code that was used to create the workbook to unhide the workbook window before it is saved. The following example illustrates the line of code necessary to accomplish this:

Sub AutomationTest()
    Dim xlworkbook As Object
    ' Open the existing file.
    Set xlworkbook = GetObject("C:\Test.xls")

    ' Set the Visible property of the workbook window to True.
    ' This will prevent the problem.
    ' Note: This will note make Excel visible during the execution
    ' of this prodecure.
    xlworkbook.Parent.Windows(xlworkbook.Name).Visible = True

    With xlworkbook
        ' Save the file as a new name.
        .SaveAs "C:\TestA.xls"
        .Close
    End With
    Set xlworkbook = Nothing
End Sub

Additional query words: ole vb
Keywords          : kbdta OffVBA KbVBA 
Version           : WINDOWS:97
Platform          : WINDOWS
Issue type        : kbprb

Last Reviewed: May 17, 1999