HOWTO: Troubleshoot "Member Not Found" 0x80020003 Error
The error may be shown as DISP_E_MEMBERNOTFOUND.
Cause 1You are calling IDispatch::Invoke() with wFlags set only to DISPATCH_METHODand the dispid identifies a property.
Resolution 1The Win32 SDK documentation for IDispatch::Invoke() states that if thedispid represents a property, you must also set the DISPATCH_PROPERTYGETflag. This problem commonly occurs when you use Microsoft Visual C++ togenerate class wrappers from the Microsoft Office 95 type libraries. Youhave to explicitly modify the generated .cpp file for any InvokeHelper()call that retrieves a property to use the DISPATCH_PROPERTGET flag. If youuse the Microsoft Office 97 type libraries, this is done automatically bythe Microsoft Visual C++ Class Wizard.
Cause 2You are using the wrong IDispatch pointer.
Resolution 2This typically occurs when you use OLE Automation with the Microsoft Office97 applications, or any application that has a hierarchical object model.You may have initialized a COleDispatchDriver class, representing an objectX, with the IDispatch pointer for an object Y. This error may or may notoccur with Microsoft Office 95, or other applications with only oneIDispatch implementation. This is because object X and object Y could bothbe implemented through one IDispatch interface, and thus no conflict willoccur.
Cause 3You are using an invalid dispid.
Resolution 3The server does not recognize the dispid you have specified in the call toIDispatch::Invoke(). Verify that this is the correct dispid, possiblythrough IDispatch::GetIDsOfNames().
For more information on type libraries and how to use them with MicrosoftVisual C++, see:
Microsoft Win32 Software Development Kit Help; search on: "type libraries,importing with ClassWizard".
For additional information, please see the following article in theMicrosoft Knowledge Base:
165273 BUG: XL97 Errors Using OLE Automation
رقم الموضوع: 172108 - آخر مراجعة: 06/22/2014 18:27:00 - المراجعة: 3.0
- kbFAQ kbhowto KB172108