Hallo Leute,
nachdem ich nach meinem Problem in allen mir bekannten Seiten gesucht und keine behilfliche Idee gefunden habe, vesuche ich Hilfe bei Ihnen zu finden
Ich arbeite in einem Projekt, und ich muss Excel unter MFC steuern.
ich habe den code aus der Seite http://support.microsoft.com wie folgt abgeschrieben:
Aber die Add-Methode wurde vom Kompiler nicht akzeptiert mit der Meldung:
Add-Methode braucht 3-Parameter. Tatsächlich ist keine Add-Methode mit einem einzigen Parameter in der automatisch generierten CWorkbooks-Klasse.
Hier ist ein Auszug der Datei CWorkbooks.h, die vom Klassenassistent aus dem Typbibliothek (Mikrosoft Excel 11.0) erzeugt wurde:
Danke,
nachdem ich nach meinem Problem in allen mir bekannten Seiten gesucht und keine behilfliche Idee gefunden habe, vesuche ich Hilfe bei Ihnen zu finden
Ich arbeite in einem Projekt, und ich muss Excel unter MFC steuern.
ich habe den code aus der Seite http://support.microsoft.com wie folgt abgeschrieben:
Code:
CApplication app; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; ... // Start Excel and get an Application object. if(!app.CreateDispatch("Excel.Application")) { AfxMessageBox("Couldn't start Excel and get Application object."); return; } //Get a new workbook. books = app.get_Workbooks(); :warning: book = books.Add (covOptional); ...
Add-Methode braucht 3-Parameter. Tatsächlich ist keine Add-Methode mit einem einzigen Parameter in der automatisch generierten CWorkbooks-Klasse.
Hier ist ein Auszug der Datei CWorkbooks.h, die vom Klassenassistent aus dem Typbibliothek (Mikrosoft Excel 11.0) erzeugt wurde:
Code:
// CWorkbooks Wrapperklasse #import "C:\\Programme\\Gemeinsame Dateien\\Microsoft Shared\\OFFICE11\\MSO.DLL" \ rename( "RGB", "MSORGB" ) using namespace Office; #import "C:\\Programme\\Gemeinsame Dateien\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" using namespace VBIDE; #import "C:\\Programme\\Microsoft Office\\OFFICE11\\EXCEL.EXE" \ rename("DialogBox", "ExclDialogBox") \ rename("RGB", "ExclRGB") \ rename("CopyFile", "ExclCopyFile") \ rename("ReplaceText", "ExclReplaceText") \ rename("Font", "ExcelFont") \ rename("Parameter", "ExcelParameter") \ rename("DocumentProperties", "ExcelDocumentProperties") \ rename("ExitWindows", "ExcelExitWindows") \ rename("Rectangle", "ExcelRectangle") \ rename("Arc", "ExcelArc") \ rename("Picture", "ExcelPicture") using namespace Office; class CWorkbooks : public COleDispatchDriver { public: CWorkbooks(){} // Ruft den COleDispatchDriver-Standardkonstruktor auf CWorkbooks(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} CWorkbooks(const CWorkbooks& dispatchSrc) : COleDispatchDriver (dispatchSrc) {} // Attribute public: // Vorgänge public: // IParameters Methoden public: Application get_Application() { Application result; InvokeHelper(0x94, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); return result; } XlCreator get_Creator() { XlCreator result; InvokeHelper(0x95, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } LPDISPATCH get_Parent() { LPDISPATCH result; InvokeHelper(0x96, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); return result; } STDMETHOD(Add)(LPCTSTR Name, VARIANT& iDataType, Parameter * * RHS) { HRESULT result; static BYTE parms[] = VTS_BSTR VTS_VARIANT VTS_PDISPATCH ; InvokeHelper(0xb5, DISPATCH_METHOD, VT_HRESULT, (void*)&result, parms, Name, &iDataType, RHS); return result; } long get_Count() { long result; InvokeHelper(0x76, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } STDMETHOD(Item)(VARIANT& Index, Parameter * * RHS) { HRESULT result; static BYTE parms[] = VTS_VARIANT VTS_PDISPATCH ; InvokeHelper(0xaa, DISPATCH_METHOD, VT_HRESULT, (void*)&result, parms, &Index, RHS); return result; } Parameter get__Default(VARIANT& Index) { Parameter result; static BYTE parms[] = VTS_VARIANT ; InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms, &Index); return result; } STDMETHOD(Delete)() { HRESULT result; InvokeHelper(0x75, DISPATCH_METHOD, VT_HRESULT, (void*)&result, NULL); return result; } STDMETHOD(_NewEnum)(LPUNKNOWN * RHS) { HRESULT result; static BYTE parms[] = VTS_PUNKNOWN ; InvokeHelper(0xfffffffc, DISPATCH_METHOD, VT_HRESULT, (void*)&result, parms, RHS); return result; } // IParameters Eigenschaften public: };