Microsoft KB Archive/178166

= FIX: GeoFacts Sample Causes Type Mismatch Error with Excel 97 =

Article ID: 178166

Article Last Modified on 11/18/2003

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Excel 97 Standard Edition

-



This article was previously published under Q178166



SYMPTOMS
The GeoFacts.vbp sample project that ships with Visual Basic 5.0 fails with the following run-time error when run on a machine that has Excel 97 for Windows installed:

Run-time error '13':

Type mismatch

This error does not occur on a machine that has Excel 95 for Windows installed.



CAUSE
The Type Mismatch error occurs on the following line of code: Set shtWorld = GetObject("world.xls") The GetObject function, when passing a workbook file argument, returns a Worksheet object when using Excel 95 but returns a Workbook object when using Excel 97. The Type Mismatch error occurs because the shtWorld variable is declared as Excel.Worksheet, which is not compatible with a Workbook object.



RESOLUTION
To make the project compatible with Excel 97 for Windows, you must change the following line of code (located in the General Declarations section of Module1): Public shtWorld As Excel.Worksheet to: Public shtWorld As Excel.Workbook

-or-

Public shtWorld As Object NOTE: Declaring the variable as Object allows the project to run with both Excel 95 and Excel 97.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been fixed in Visual Basic 6.0.



MORE INFORMATION
The GeoFacts.vbp sample project was designed for Excel 95. However, you can write your automation code so that it is compatible with both Microsoft Excel 95 and Microsoft Excel 97. See the REFERENCES section below for more information.

