Click here to Skip to main content
15,895,142 members
Articles / Desktop Programming / WTL

A fast and lightweight cell control

Rate me:
Please Sign up or sign in to vote.
4.42/5 (31 votes)
11 Mar 2008CPOL1 min read 91K   4.5K   81  
A fast and lightweight cell control for displaying tabular data. The cell is a custom control derived from ATL::CWindow.

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0361 */
/* at Fri Mar 14 11:36:43 2008
 */
/* Compiler settings for \myprojects\mycell\include\mycell.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__


#ifndef __mycell_h__
#define __mycell_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __ICellSymbol_FWD_DEFINED__
#define __ICellSymbol_FWD_DEFINED__
typedef interface ICellSymbol ICellSymbol;
#endif 	/* __ICellSymbol_FWD_DEFINED__ */


#ifndef __ICellEditor_FWD_DEFINED__
#define __ICellEditor_FWD_DEFINED__
typedef interface ICellEditor ICellEditor;
#endif 	/* __ICellEditor_FWD_DEFINED__ */


#ifndef __IWorksheet_FWD_DEFINED__
#define __IWorksheet_FWD_DEFINED__
typedef interface IWorksheet IWorksheet;
#endif 	/* __IWorksheet_FWD_DEFINED__ */


#ifndef __IWorkbook_FWD_DEFINED__
#define __IWorkbook_FWD_DEFINED__
typedef interface IWorkbook IWorkbook;
#endif 	/* __IWorkbook_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 


#ifndef __MyCell_LIBRARY_DEFINED__
#define __MyCell_LIBRARY_DEFINED__

/* library MyCell */
/* [helpstring][version][uuid] */ 

typedef 
enum EXlLineStyle
    {	xlLineStyleNone	= 1,
	xlContinuous	= xlLineStyleNone + 1,
	xlDash	= xlContinuous + 1,
	xlDashDot	= xlDash + 1,
	xlDashDotDot	= xlDashDot + 1,
	xlDot	= xlDashDotDot + 1,
	xlDouble	= xlDot + 1,
	xlSlantDashDot	= xlDouble + 1
    } 	EXlLineStyle;

typedef 
enum EXlHAlign
    {	xlHAlignCenter	= 0,
	xlHAlignCenterAcrossSelection	= xlHAlignCenter + 1,
	xlHAlignDistributed	= xlHAlignCenterAcrossSelection + 1,
	xlHAlignFill	= xlHAlignDistributed + 1,
	xlHAlignGeneral	= xlHAlignFill + 1,
	xlHAlignJustify	= xlHAlignGeneral + 1,
	xlHAlignLeft	= xlHAlignJustify + 1,
	xlHAlignRight	= xlHAlignLeft + 1
    } 	EXlHAlign;

typedef 
enum EXlVAlign
    {	xlVAlignBottom	= 0,
	xlVAlignCenter	= xlVAlignBottom + 1,
	xlVAlignDistributed	= xlVAlignCenter + 1,
	xlVAlignJustify	= xlVAlignDistributed + 1,
	xlVAlignTop	= xlVAlignJustify + 1
    } 	EXlVAlign;

typedef 
enum EXlBordersIndex
    {	xlInsideHorizontal	= 1 << 0,
	xlInsideVertical	= 1 << 1,
	xlDiagonalDown	= 1 << 2,
	xlDiagonalUp	= 1 << 3,
	xlEdgeBottom	= 1 << 4,
	xlEdgeLeft	= 1 << 5,
	xlEdgeRight	= 1 << 6,
	xlEdgeTop	= 1 << 7
    } 	EXlBordersIndex;

typedef 
enum EFontSetMask
    {	EFSM_FONT_NAME	= 1 << 0,
	EFSM_FONT_SIZE	= 1 << 1,
	EFSM_FONT_COLOR	= 1 << 2,
	EFSM_FONT_ITALIC	= 1 << 3,
	EFSM_FONT_BOLD	= 1 << 4,
	EFSM_FONT_UNDERLINE	= 1 << 5,
	EFSM_FONT_STRIKEOUT	= 1 << 6,
	EFSM_FONT_ALL	= 0xff
    } 	EFontSetMask;

typedef 
enum EAlignmentSetMask
    {	EASM_WRAPTEXT	= 1 << 0,
	EASM_HORIZONTAL	= 1 << 1,
	EASM_VERTICAL	= 1 << 2
    } 	EAlignmentSetMask;

typedef 
enum ECellStorePosition
    {	ESP_STYLE_CELL_OWN	= 0,
	ESP_STYLE_MERGE_OWN	= ESP_STYLE_CELL_OWN + 1,
	ESP_STYLE_ROW_OWN	= ESP_STYLE_MERGE_OWN + 1,
	ESP_STYLE_COL_OWN	= ESP_STYLE_ROW_OWN + 1,
	ESP_STYLE_TABLE_OWN	= ESP_STYLE_COL_OWN + 1,
	ESP_STYLE_DEFAULT	= ESP_STYLE_TABLE_OWN + 1
    } 	ECellStorePosition;

typedef 
enum ESelectionMode
    {	ESM_SINGLECELL	= 0,
	ESM_SINGLELINE	= ESM_SINGLECELL + 1,
	ESM_MULTILINE	= ESM_SINGLELINE + 1,
	ESM_SINGLESELECTION	= ESM_MULTILINE + 1,
	ESM_MULTISELECTION	= ESM_SINGLESELECTION + 1
    } 	ESelectionMode;

typedef 
enum ECellType
    {	ECT_NONE	= 0,
	ECT_TEXT	= ECT_NONE + 1,
	ECT_COMBOBOX	= ECT_TEXT + 1,
	ECT_CHECKBOX	= ECT_COMBOBOX + 1,
	ECT_CALENDAR	= ECT_CHECKBOX + 1,
	ECT_BUTTON	= ECT_CALENDAR + 1,
	ECT_HYPERLINK	= ECT_BUTTON + 1,
	ECT_UINT	= ECT_HYPERLINK + 1,
	ECT_INT	= ECT_UINT + 1,
	ECT_UDOUBLE	= ECT_INT + 1,
	ECT_DOUBLE	= ECT_UDOUBLE + 1,
	ECT_LOGICAL	= ECT_DOUBLE + 1,
	ECT_DEGREE	= ECT_LOGICAL + 1,
	ECT_COLOR	= ECT_DEGREE + 1,
	ECT_ROWHEADER	= ECT_COLOR + 1,
	ECT_COLHEADER	= ECT_ROWHEADER + 1,
	ECT_HEADERCORNER	= ECT_COLHEADER + 1,
	ECT_USER	= 200,
	ECT_MAX	= 256
    } 	ECellType;

typedef 
enum ESelectionState
    {	EST_NOT_IN_SELECTION	= 0,
	EST_IN_SELECTION	= EST_NOT_IN_SELECTION + 1,
	EST_IN_PROJECTION_OF_SELECTION	= EST_IN_SELECTION + 1,
	EST_ACTIVECELL	= EST_IN_PROJECTION_OF_SELECTION + 1
    } 	ESelectionState;

typedef 
enum EGetCellValDistination
    {	EGCVD_NORMAL	= 0,
	EGCVD_RENDER	= EGCVD_NORMAL + 1,
	EGCVD_EDIT	= EGCVD_RENDER + 1,
	EGCVD_TOOLTIP	= EGCVD_EDIT + 1
    } 	EGetCellValDistination;

typedef struct Cell
    {
    int row;
    int col;
    } 	Cell;

typedef struct CellRange
    {
    Cell leftTop;
    Cell rightBottom;
    } 	CellRange;

typedef struct HLS
    {
    BYTE L;
    BYTE H;
    BYTE S;
    } 	HLS;

typedef struct ColorEntry
    {
    COLORREF color;
    LPCTSTR lpszName;
    HLS lhs;
    } 	ColorEntry;

typedef struct GetCellTextInfo
    {
    VARIANT *lpText;
    EGetCellValDistination gcvDist;
    } 	GetCellTextInfo;

typedef struct _NMHDR
    {
    HWND hwndFrom;
    UINT_PTR idFrom;
    UINT code;
    } 	_NMHDR;

typedef struct NM_SHEETVIEW
    {
    _NMHDR hdr;
    int row;
    int col;
    LPARAM lParam;
    HRESULT hr;
    BOOL bHandled;
    } 	NM_SHEETVIEW;

typedef struct DrawCellInfo
    {
    const CellRange *pMerge;
    RECT rcCell;
    const VARIANT *pdata;
    EXlHAlign hAlign;
    EXlVAlign vAlign;
    void *pLogFont;
    COLORREF clrFont;
    COLORREF clrBkgnd;
    ECellType cellType;
    ESelectionState nSelState;
    BYTE bWrapText;
    BYTE bMouseHover;
    } 	DrawCellInfo;


EXTERN_C const IID LIBID_MyCell;

#ifndef __ICellSymbol_INTERFACE_DEFINED__
#define __ICellSymbol_INTERFACE_DEFINED__

/* interface ICellSymbol */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_ICellSymbol;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1f649aa0-a3e8-494d-a604-201324012e9b")
    ICellSymbol : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Draw( 
            /* [in] */ HDC hDC,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ const DrawCellInfo *pDCI) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnThemeChanged( 
            /* [in] */ HWND hWnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICellSymbolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICellSymbol * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICellSymbol * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICellSymbol * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Draw )( 
            ICellSymbol * This,
            /* [in] */ HDC hDC,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ const DrawCellInfo *pDCI);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnThemeChanged )( 
            ICellSymbol * This,
            /* [in] */ HWND hWnd);
        
        END_INTERFACE
    } ICellSymbolVtbl;

    interface ICellSymbol
    {
        CONST_VTBL struct ICellSymbolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICellSymbol_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICellSymbol_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICellSymbol_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICellSymbol_Draw(This,hDC,row,col,pDCI)	\
    (This)->lpVtbl -> Draw(This,hDC,row,col,pDCI)

#define ICellSymbol_OnThemeChanged(This,hWnd)	\
    (This)->lpVtbl -> OnThemeChanged(This,hWnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICellSymbol_Draw_Proxy( 
    ICellSymbol * This,
    /* [in] */ HDC hDC,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ const DrawCellInfo *pDCI);


void __RPC_STUB ICellSymbol_Draw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICellSymbol_OnThemeChanged_Proxy( 
    ICellSymbol * This,
    /* [in] */ HWND hWnd);


void __RPC_STUB ICellSymbol_OnThemeChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICellSymbol_INTERFACE_DEFINED__ */


#ifndef __ICellEditor_INTERFACE_DEFINED__
#define __ICellEditor_INTERFACE_DEFINED__

/* interface ICellEditor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_ICellEditor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d6b900af-7142-4503-a1b3-0ebaf5639b8c")
    ICellEditor : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLButtonDblClick( 
            /* [in] */ int ptX,
            /* [in] */ int ptY,
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ UINT flags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnLButtonDown( 
            /* [in] */ int ptX,
            /* [in] */ int ptY,
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ UINT flags,
            /* [in] */ VARIANT_BOOL *pbHandled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnChar( 
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam,
            /* [in] */ VARIANT_BOOL *pbHandled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnImeComposition( 
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam,
            /* [in] */ VARIANT_BOOL *pbHandled) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICellEditorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICellEditor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICellEditor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICellEditor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLButtonDblClick )( 
            ICellEditor * This,
            /* [in] */ int ptX,
            /* [in] */ int ptY,
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ UINT flags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnLButtonDown )( 
            ICellEditor * This,
            /* [in] */ int ptX,
            /* [in] */ int ptY,
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ UINT flags,
            /* [in] */ VARIANT_BOOL *pbHandled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnChar )( 
            ICellEditor * This,
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam,
            /* [in] */ VARIANT_BOOL *pbHandled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnImeComposition )( 
            ICellEditor * This,
            /* [in] */ Cell cell,
            /* [in] */ const VARIANT *pCellVal,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam,
            /* [in] */ VARIANT_BOOL *pbHandled);
        
        END_INTERFACE
    } ICellEditorVtbl;

    interface ICellEditor
    {
        CONST_VTBL struct ICellEditorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICellEditor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICellEditor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICellEditor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICellEditor_OnLButtonDblClick(This,ptX,ptY,cell,pCellVal,flags)	\
    (This)->lpVtbl -> OnLButtonDblClick(This,ptX,ptY,cell,pCellVal,flags)

#define ICellEditor_OnLButtonDown(This,ptX,ptY,cell,pCellVal,flags,pbHandled)	\
    (This)->lpVtbl -> OnLButtonDown(This,ptX,ptY,cell,pCellVal,flags,pbHandled)

#define ICellEditor_OnChar(This,cell,pCellVal,wParam,lParam,pbHandled)	\
    (This)->lpVtbl -> OnChar(This,cell,pCellVal,wParam,lParam,pbHandled)

#define ICellEditor_OnImeComposition(This,cell,pCellVal,wParam,lParam,pbHandled)	\
    (This)->lpVtbl -> OnImeComposition(This,cell,pCellVal,wParam,lParam,pbHandled)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICellEditor_OnLButtonDblClick_Proxy( 
    ICellEditor * This,
    /* [in] */ int ptX,
    /* [in] */ int ptY,
    /* [in] */ Cell cell,
    /* [in] */ const VARIANT *pCellVal,
    /* [in] */ UINT flags);


void __RPC_STUB ICellEditor_OnLButtonDblClick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICellEditor_OnLButtonDown_Proxy( 
    ICellEditor * This,
    /* [in] */ int ptX,
    /* [in] */ int ptY,
    /* [in] */ Cell cell,
    /* [in] */ const VARIANT *pCellVal,
    /* [in] */ UINT flags,
    /* [in] */ VARIANT_BOOL *pbHandled);


void __RPC_STUB ICellEditor_OnLButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICellEditor_OnChar_Proxy( 
    ICellEditor * This,
    /* [in] */ Cell cell,
    /* [in] */ const VARIANT *pCellVal,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam,
    /* [in] */ VARIANT_BOOL *pbHandled);


void __RPC_STUB ICellEditor_OnChar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ICellEditor_OnImeComposition_Proxy( 
    ICellEditor * This,
    /* [in] */ Cell cell,
    /* [in] */ const VARIANT *pCellVal,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam,
    /* [in] */ VARIANT_BOOL *pbHandled);


void __RPC_STUB ICellEditor_OnImeComposition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICellEditor_INTERFACE_DEFINED__ */


#ifndef __IWorksheet_INTERFACE_DEFINED__
#define __IWorksheet_INTERFACE_DEFINED__

/* interface IWorksheet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWorksheet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a2dab7be-7f11-40d9-b2b5-5fa68956543e")
    IWorksheet : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetName( 
            /* [retval][out] */ BSTR *pval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Merge( 
            /* [in] */ int minR,
            /* [in] */ int minC,
            /* [in] */ int maxR,
            /* [in] */ int maxC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnMerge( 
            /* [in] */ int minR,
            /* [in] */ int minC,
            /* [in] */ int maxR,
            /* [in] */ int maxC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetRows( 
            /* [in] */ int rows) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCols( 
            /* [in] */ int cols) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRows( 
            /* [retval][out] */ int *prows) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCols( 
            /* [retval][out] */ int *pcols) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetColLabel( 
            /* [in] */ int col,
            /* [in] */ BSTR bstrLabel) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ShowSetupDialog( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DisplayGridlines( 
            /* [in] */ VARIANT_BOOL bDisplay) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDisplayGridlines( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Redraw( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetDefaultCellType( 
            /* [in] */ ECellType ect) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetColType( 
            /* [in] */ int col,
            /* [in] */ ECellType cellType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetRowType( 
            /* [in] */ int row,
            /* [in] */ ECellType cellType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCellType( 
            /* [in] */ Cell cell,
            /* [in] */ ECellType cellType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWorksheetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWorksheet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWorksheet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWorksheet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IWorksheet * This,
            /* [retval][out] */ BSTR *pval);
        
        HRESULT ( STDMETHODCALLTYPE *Merge )( 
            IWorksheet * This,
            /* [in] */ int minR,
            /* [in] */ int minC,
            /* [in] */ int maxR,
            /* [in] */ int maxC);
        
        HRESULT ( STDMETHODCALLTYPE *UnMerge )( 
            IWorksheet * This,
            /* [in] */ int minR,
            /* [in] */ int minC,
            /* [in] */ int maxR,
            /* [in] */ int maxC);
        
        HRESULT ( STDMETHODCALLTYPE *SetRows )( 
            IWorksheet * This,
            /* [in] */ int rows);
        
        HRESULT ( STDMETHODCALLTYPE *SetCols )( 
            IWorksheet * This,
            /* [in] */ int cols);
        
        HRESULT ( STDMETHODCALLTYPE *GetRows )( 
            IWorksheet * This,
            /* [retval][out] */ int *prows);
        
        HRESULT ( STDMETHODCALLTYPE *GetCols )( 
            IWorksheet * This,
            /* [retval][out] */ int *pcols);
        
        HRESULT ( STDMETHODCALLTYPE *SetColLabel )( 
            IWorksheet * This,
            /* [in] */ int col,
            /* [in] */ BSTR bstrLabel);
        
        HRESULT ( STDMETHODCALLTYPE *ShowSetupDialog )( 
            IWorksheet * This);
        
        HRESULT ( STDMETHODCALLTYPE *DisplayGridlines )( 
            IWorksheet * This,
            /* [in] */ VARIANT_BOOL bDisplay);
        
        HRESULT ( STDMETHODCALLTYPE *GetDisplayGridlines )( 
            IWorksheet * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        HRESULT ( STDMETHODCALLTYPE *Redraw )( 
            IWorksheet * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetDefaultCellType )( 
            IWorksheet * This,
            /* [in] */ ECellType ect);
        
        HRESULT ( STDMETHODCALLTYPE *SetColType )( 
            IWorksheet * This,
            /* [in] */ int col,
            /* [in] */ ECellType cellType);
        
        HRESULT ( STDMETHODCALLTYPE *SetRowType )( 
            IWorksheet * This,
            /* [in] */ int row,
            /* [in] */ ECellType cellType);
        
        HRESULT ( STDMETHODCALLTYPE *SetCellType )( 
            IWorksheet * This,
            /* [in] */ Cell cell,
            /* [in] */ ECellType cellType);
        
        END_INTERFACE
    } IWorksheetVtbl;

    interface IWorksheet
    {
        CONST_VTBL struct IWorksheetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWorksheet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWorksheet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWorksheet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWorksheet_GetName(This,pval)	\
    (This)->lpVtbl -> GetName(This,pval)

#define IWorksheet_Merge(This,minR,minC,maxR,maxC)	\
    (This)->lpVtbl -> Merge(This,minR,minC,maxR,maxC)

#define IWorksheet_UnMerge(This,minR,minC,maxR,maxC)	\
    (This)->lpVtbl -> UnMerge(This,minR,minC,maxR,maxC)

#define IWorksheet_SetRows(This,rows)	\
    (This)->lpVtbl -> SetRows(This,rows)

#define IWorksheet_SetCols(This,cols)	\
    (This)->lpVtbl -> SetCols(This,cols)

#define IWorksheet_GetRows(This,prows)	\
    (This)->lpVtbl -> GetRows(This,prows)

#define IWorksheet_GetCols(This,pcols)	\
    (This)->lpVtbl -> GetCols(This,pcols)

#define IWorksheet_SetColLabel(This,col,bstrLabel)	\
    (This)->lpVtbl -> SetColLabel(This,col,bstrLabel)

#define IWorksheet_ShowSetupDialog(This)	\
    (This)->lpVtbl -> ShowSetupDialog(This)

#define IWorksheet_DisplayGridlines(This,bDisplay)	\
    (This)->lpVtbl -> DisplayGridlines(This,bDisplay)

#define IWorksheet_GetDisplayGridlines(This,pval)	\
    (This)->lpVtbl -> GetDisplayGridlines(This,pval)

#define IWorksheet_Redraw(This)	\
    (This)->lpVtbl -> Redraw(This)

#define IWorksheet_SetDefaultCellType(This,ect)	\
    (This)->lpVtbl -> SetDefaultCellType(This,ect)

#define IWorksheet_SetColType(This,col,cellType)	\
    (This)->lpVtbl -> SetColType(This,col,cellType)

#define IWorksheet_SetRowType(This,row,cellType)	\
    (This)->lpVtbl -> SetRowType(This,row,cellType)

#define IWorksheet_SetCellType(This,cell,cellType)	\
    (This)->lpVtbl -> SetCellType(This,cell,cellType)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWorksheet_GetName_Proxy( 
    IWorksheet * This,
    /* [retval][out] */ BSTR *pval);


void __RPC_STUB IWorksheet_GetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_Merge_Proxy( 
    IWorksheet * This,
    /* [in] */ int minR,
    /* [in] */ int minC,
    /* [in] */ int maxR,
    /* [in] */ int maxC);


void __RPC_STUB IWorksheet_Merge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_UnMerge_Proxy( 
    IWorksheet * This,
    /* [in] */ int minR,
    /* [in] */ int minC,
    /* [in] */ int maxR,
    /* [in] */ int maxC);


void __RPC_STUB IWorksheet_UnMerge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetRows_Proxy( 
    IWorksheet * This,
    /* [in] */ int rows);


void __RPC_STUB IWorksheet_SetRows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetCols_Proxy( 
    IWorksheet * This,
    /* [in] */ int cols);


void __RPC_STUB IWorksheet_SetCols_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_GetRows_Proxy( 
    IWorksheet * This,
    /* [retval][out] */ int *prows);


void __RPC_STUB IWorksheet_GetRows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_GetCols_Proxy( 
    IWorksheet * This,
    /* [retval][out] */ int *pcols);


void __RPC_STUB IWorksheet_GetCols_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetColLabel_Proxy( 
    IWorksheet * This,
    /* [in] */ int col,
    /* [in] */ BSTR bstrLabel);


void __RPC_STUB IWorksheet_SetColLabel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_ShowSetupDialog_Proxy( 
    IWorksheet * This);


void __RPC_STUB IWorksheet_ShowSetupDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_DisplayGridlines_Proxy( 
    IWorksheet * This,
    /* [in] */ VARIANT_BOOL bDisplay);


void __RPC_STUB IWorksheet_DisplayGridlines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_GetDisplayGridlines_Proxy( 
    IWorksheet * This,
    /* [retval][out] */ VARIANT_BOOL *pval);


void __RPC_STUB IWorksheet_GetDisplayGridlines_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_Redraw_Proxy( 
    IWorksheet * This);


void __RPC_STUB IWorksheet_Redraw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetDefaultCellType_Proxy( 
    IWorksheet * This,
    /* [in] */ ECellType ect);


void __RPC_STUB IWorksheet_SetDefaultCellType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetColType_Proxy( 
    IWorksheet * This,
    /* [in] */ int col,
    /* [in] */ ECellType cellType);


void __RPC_STUB IWorksheet_SetColType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetRowType_Proxy( 
    IWorksheet * This,
    /* [in] */ int row,
    /* [in] */ ECellType cellType);


void __RPC_STUB IWorksheet_SetRowType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorksheet_SetCellType_Proxy( 
    IWorksheet * This,
    /* [in] */ Cell cell,
    /* [in] */ ECellType cellType);


void __RPC_STUB IWorksheet_SetCellType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWorksheet_INTERFACE_DEFINED__ */


#ifndef __IWorkbook_INTERFACE_DEFINED__
#define __IWorkbook_INTERFACE_DEFINED__

/* interface IWorkbook */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWorkbook;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3f9d2fae-c2dd-4159-a24a-912f720af677")
    IWorkbook : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ HWND hWndParent,
            /* [in] */ RECT rc,
            /* [in] */ UINT dwStyle,
            /* [in] */ UINT dwExStyle) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetHWnd( 
            /* [retval][out] */ HWND *phWnd) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetScrollBarVisible( 
            VARIANT_BOOL bHScrollbarVis,
            VARIANT_BOOL bVScrollbarVis) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterSymbol( 
            /* [in] */ ECellType cellType,
            /* [in] */ ICellSymbol *pSymbol,
            /* [retval][out] */ ICellSymbol **ppOld) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetActiveSheet( 
            /* [retval][out] */ IWorksheet **ppval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UpdateScreen( 
            /* [in] */ VARIANT_BOOL bval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSheetName( 
            /* [in] */ UINT nSheet,
            /* [in] */ BSTR bstrName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindSheetByName( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ int *pval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSheet( 
            /* [in] */ UINT nSheet,
            /* [retval][out] */ IWorksheet **ppval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportFromXml( 
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ BSTR *pOutFileName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExportToXml( 
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ BSTR *pOutFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWorkbookVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWorkbook * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWorkbook * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWorkbook * This);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            IWorkbook * This,
            /* [in] */ HWND hWndParent,
            /* [in] */ RECT rc,
            /* [in] */ UINT dwStyle,
            /* [in] */ UINT dwExStyle);
        
        HRESULT ( STDMETHODCALLTYPE *GetHWnd )( 
            IWorkbook * This,
            /* [retval][out] */ HWND *phWnd);
        
        HRESULT ( STDMETHODCALLTYPE *SetScrollBarVisible )( 
            IWorkbook * This,
            VARIANT_BOOL bHScrollbarVis,
            VARIANT_BOOL bVScrollbarVis);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterSymbol )( 
            IWorkbook * This,
            /* [in] */ ECellType cellType,
            /* [in] */ ICellSymbol *pSymbol,
            /* [retval][out] */ ICellSymbol **ppOld);
        
        HRESULT ( STDMETHODCALLTYPE *GetActiveSheet )( 
            IWorkbook * This,
            /* [retval][out] */ IWorksheet **ppval);
        
        HRESULT ( STDMETHODCALLTYPE *UpdateScreen )( 
            IWorkbook * This,
            /* [in] */ VARIANT_BOOL bval);
        
        HRESULT ( STDMETHODCALLTYPE *SetSheetName )( 
            IWorkbook * This,
            /* [in] */ UINT nSheet,
            /* [in] */ BSTR bstrName);
        
        HRESULT ( STDMETHODCALLTYPE *FindSheetByName )( 
            IWorkbook * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ int *pval);
        
        HRESULT ( STDMETHODCALLTYPE *GetSheet )( 
            IWorkbook * This,
            /* [in] */ UINT nSheet,
            /* [retval][out] */ IWorksheet **ppval);
        
        HRESULT ( STDMETHODCALLTYPE *ImportFromXml )( 
            IWorkbook * This,
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ BSTR *pOutFileName);
        
        HRESULT ( STDMETHODCALLTYPE *ExportToXml )( 
            IWorkbook * This,
            /* [in] */ BSTR bstrFileName,
            /* [retval][out] */ BSTR *pOutFileName);
        
        END_INTERFACE
    } IWorkbookVtbl;

    interface IWorkbook
    {
        CONST_VTBL struct IWorkbookVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWorkbook_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWorkbook_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWorkbook_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWorkbook_Create(This,hWndParent,rc,dwStyle,dwExStyle)	\
    (This)->lpVtbl -> Create(This,hWndParent,rc,dwStyle,dwExStyle)

#define IWorkbook_GetHWnd(This,phWnd)	\
    (This)->lpVtbl -> GetHWnd(This,phWnd)

#define IWorkbook_SetScrollBarVisible(This,bHScrollbarVis,bVScrollbarVis)	\
    (This)->lpVtbl -> SetScrollBarVisible(This,bHScrollbarVis,bVScrollbarVis)

#define IWorkbook_RegisterSymbol(This,cellType,pSymbol,ppOld)	\
    (This)->lpVtbl -> RegisterSymbol(This,cellType,pSymbol,ppOld)

#define IWorkbook_GetActiveSheet(This,ppval)	\
    (This)->lpVtbl -> GetActiveSheet(This,ppval)

#define IWorkbook_UpdateScreen(This,bval)	\
    (This)->lpVtbl -> UpdateScreen(This,bval)

#define IWorkbook_SetSheetName(This,nSheet,bstrName)	\
    (This)->lpVtbl -> SetSheetName(This,nSheet,bstrName)

#define IWorkbook_FindSheetByName(This,bstrName,pval)	\
    (This)->lpVtbl -> FindSheetByName(This,bstrName,pval)

#define IWorkbook_GetSheet(This,nSheet,ppval)	\
    (This)->lpVtbl -> GetSheet(This,nSheet,ppval)

#define IWorkbook_ImportFromXml(This,bstrFileName,pOutFileName)	\
    (This)->lpVtbl -> ImportFromXml(This,bstrFileName,pOutFileName)

#define IWorkbook_ExportToXml(This,bstrFileName,pOutFileName)	\
    (This)->lpVtbl -> ExportToXml(This,bstrFileName,pOutFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWorkbook_Create_Proxy( 
    IWorkbook * This,
    /* [in] */ HWND hWndParent,
    /* [in] */ RECT rc,
    /* [in] */ UINT dwStyle,
    /* [in] */ UINT dwExStyle);


void __RPC_STUB IWorkbook_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_GetHWnd_Proxy( 
    IWorkbook * This,
    /* [retval][out] */ HWND *phWnd);


void __RPC_STUB IWorkbook_GetHWnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_SetScrollBarVisible_Proxy( 
    IWorkbook * This,
    VARIANT_BOOL bHScrollbarVis,
    VARIANT_BOOL bVScrollbarVis);


void __RPC_STUB IWorkbook_SetScrollBarVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_RegisterSymbol_Proxy( 
    IWorkbook * This,
    /* [in] */ ECellType cellType,
    /* [in] */ ICellSymbol *pSymbol,
    /* [retval][out] */ ICellSymbol **ppOld);


void __RPC_STUB IWorkbook_RegisterSymbol_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_GetActiveSheet_Proxy( 
    IWorkbook * This,
    /* [retval][out] */ IWorksheet **ppval);


void __RPC_STUB IWorkbook_GetActiveSheet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_UpdateScreen_Proxy( 
    IWorkbook * This,
    /* [in] */ VARIANT_BOOL bval);


void __RPC_STUB IWorkbook_UpdateScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_SetSheetName_Proxy( 
    IWorkbook * This,
    /* [in] */ UINT nSheet,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IWorkbook_SetSheetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_FindSheetByName_Proxy( 
    IWorkbook * This,
    /* [in] */ BSTR bstrName,
    /* [retval][out] */ int *pval);


void __RPC_STUB IWorkbook_FindSheetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_GetSheet_Proxy( 
    IWorkbook * This,
    /* [in] */ UINT nSheet,
    /* [retval][out] */ IWorksheet **ppval);


void __RPC_STUB IWorkbook_GetSheet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_ImportFromXml_Proxy( 
    IWorkbook * This,
    /* [in] */ BSTR bstrFileName,
    /* [retval][out] */ BSTR *pOutFileName);


void __RPC_STUB IWorkbook_ImportFromXml_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWorkbook_ExportToXml_Proxy( 
    IWorkbook * This,
    /* [in] */ BSTR bstrFileName,
    /* [retval][out] */ BSTR *pOutFileName);


void __RPC_STUB IWorkbook_ExportToXml_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWorkbook_INTERFACE_DEFINED__ */

#endif /* __MyCell_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
China China
My name is Yanxueming,i live in Chengdu China.Graduated from UESTC in 1999.

Comments and Discussions