XL97: Show Method Fails with Passed Arguments

Last reviewed: March 13, 1998
Article ID: Q165407
The information in this article applies to:
  • Microsoft Excel 97 for Windows

SYMPTOMS

If you use the Show method with one of the built-in Microsoft Excel dialog boxes, you may receive the following error:

   Run-time error '1004':
   Show method of Dialog class failed

CAUSE

This problem may occur when both of the following conditions are true:

  • The constant you use for the built-in dialog box is new to Microsoft Excel 97.

        -and-
    
  • You attempt to pass an argument to the dialog box by using the Show method.

RESOLUTION

To resolve behavior, do not pass any arguments when you are using a constant that is new to Microsoft Excel 97 and you are using the Show method.

STATUS

This behavior is by design of Microsoft Excel 97.

MORE INFORMATION

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 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 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 page on the World Wide Web:

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

The following sample code uses the xlDialogDataValidation constant, which is new to Microsoft Excel 97, to display the Data Validation dialog box:

   Sub Test()
      Application.Dialogs(xlDialogDataValidation).Show
   End Sub

Note that if you use this constant in the following sample code, you receive the error message:

   Sub Test2()
      Application.Dialogs(xlDialogDataValidation).Show 1
   End Sub

The "1" that follows the Show method implies you wanted to select the first item in the Allow list, which is Whole number.

The following lines of code do not generate an error message because the constant is NOT new to Microsoft Excel 97:

   Sub Test3()
      Application.Dialogs(xlDialogFormulaReplace).Show ,,,2
   End Sub

When you run the Test3 macro, the GoTo dialog box is displayed, and By Columns (the second item in the list) appears in the Search list.

REFERENCES

To find more information about built-in constants in Microsoft Excel 97, use the following steps:

  1. In the Visual Basic Editor, display the Object Browser (press F2).

  2. In the list of libraries, click Excel.

  3. Type "xldialog" (without the quotation marks) in the Combobox below the list of libraries, and then press ENTER

The list of built-in dialogs is displayed in the Search Results pane.


Additional query words: XL97
Keywords : kbcode kberrmsg kbprg
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbprb


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 13, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.