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:
- On the Window menu, click Unhide.
- In the Unhide workbook list, click your workbook, and then click OK.
- 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 a Microsoft Certified Partner or the Microsoft fee-based
consulting line at (800) 936-5200. For more information about Microsoft Certified
Partners, please visit the following Microsoft Web site:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
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. The new line of code will 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 procedure.
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