tewehuang
asked on
what's mean about this error?
i have a error like:
exampleView.cpp(270) : error C2660: 'Add' : function does not take 0 parameters
E:\Microsoft Visual Studio\MyProjects\example\ exampleVie w.cpp(279) : error C2660: 'Select' : function does not take 0 parameters
E:\Microsoft Visual Studio\MyProjects\example\ exampleVie w.cpp(281) : error C2660: 'GetRange' : function does not take 1 parameters
E:\Microsoft Visual Studio\MyProjects\example\ exampleVie w.cpp(284) : error C2660: 'GetRange' : function does not take 1 parameters
E:\Microsoft Visual Studio\MyProjects\example\ exampleVie w.cpp(287) : error C2660: 'GetRange' : function does not take 1 parameters
E:\Microsoft Visual Studio\MyProjects\example\ exampleVie w.cpp(294) : error C2660: 'GetRange' : function does not take 1 parameters
Error executing cl.exe.
example.exe - 6 error(s), 0 warning(s)
my source code is :
void CExampleView::OnExceloleEx ecute()
{
LPDISPATCH pRange, pWorkbooks;
CWnd* pWnd = CWnd::FindWindow("XLMAIN", NULL);
if (pWnd != NULL) {
TRACE("Excel window found\n");
pWnd->ShowWindow(SW_SHOWNO RMAL);
pWnd->UpdateWindow();
pWnd->BringWindowToTop();
}
m_app.SetSheetsInNewWorkbo ok(1);
VERIFY(pWorkbooks = m_app.GetWorkbooks());
m_workbooks.AttachDispatch (pWorkbook s);
LPDISPATCH pWorkbook = NULL;
if (m_workbooks.GetCount() == 0) {
// Add returns a Workbook pointer, but we
// don't have a Workbook class
pWorkbook = m_workbooks.Add(); // Save the pointer for
// later release
}
LPDISPATCH pWorksheets = m_app.GetWorksheets();
ASSERT(pWorksheets != NULL);
m_worksheets.AttachDispatc h(pWorkshe ets);
LPDISPATCH pWorksheet = m_worksheets.GetItem(COleV ariant((sh ort) 1));
m_worksheet.AttachDispatch (pWorkshee t);
m_worksheet.Select();
VERIFY(pRange = m_worksheet.GetRange(COleV ariant("A1 ")));
m_range[0].AttachDispatch( pRange);
VERIFY(pRange = m_worksheet.GetRange(COleV ariant("A2 ")));
m_range[1].AttachDispatch( pRange);
VERIFY(pRange = m_worksheet.GetRange(COleV ariant("A3 ")));
m_range[2].AttachDispatch( pRange);
VERIFY(pRange = m_worksheet.GetRange(COleV ariant("A3 "),
COleVariant("C5")));
m_range[3].AttachDispatch( pRange);
VERIFY(pRange = m_worksheet.GetRange(COleV ariant("A6 ")));
m_range[4].AttachDispatch( pRange);
m_range[4].SetValue(COleVa riant(COle DateTime(1 998, 4, 24, 15, 47, 8)));
// retrieve the stored date and print it as a string
COleVariant vaTimeDate = m_range[4].GetValue();
TRACE("returned date type = %d\n", vaTimeDate.vt);
COleVariant vaTemp;
vaTemp.ChangeType(VT_BSTR, &vaTimeDate);
CString str = vaTemp.bstrVal;
TRACE("date = %s\n", (const char*) str);
m_range[0].SetValue(COleVa riant("tes t string"));
COleVariant vaResult0 = m_range[0].GetValue();
if (vaResult0.vt == VT_BSTR) {
CString str = vaResult0.bstrVal;
TRACE("vaResult0 = %s\n", (const char*) str);
}
m_range[1].SetValue(COleVa riant(3.14 159));
COleVariant vaResult1 = m_range[1].GetValue();
if (vaResult1.vt == VT_R8) {
TRACE("vaResult1 = %f\n", vaResult1.dblVal);
}
m_range[2].SetFormula(COle Variant("= $A2*2.0")) ;
COleVariant vaResult2 = m_range[2].GetValue();
if (vaResult2.vt == VT_R8) {
TRACE("vaResult2 = %f\n", vaResult2.dblVal);
}
COleVariant vaResult2a = m_range[2].GetFormula();
if (vaResult2a.vt == VT_BSTR) {
CString str = vaResult2a.bstrVal;
TRACE("vaResult2a = %s\n", (const char*) str);
}
m_range[3].FillRight();
m_range[3].FillDown();
// cleanup
if (pWorkbook != NULL) {
pWorkbook->Release();
}
}
void CExampleView::OnUpdateExce loleExecut e(CCmdUI* pCmdUI)
{
pCmdUI->Enable(m_app.m_lpD ispatch != NULL);
}
void CExampleView::OnExceloleLo ad()
{ // if Excel is already running, attach to it, otherwise start it
LPDISPATCH pDisp;
LPUNKNOWN pUnk;
CLSID clsid;
TRACE("Entering CEx25dView::OnExcelLoad\n" );
BeginWaitCursor();
::CLSIDFromProgID(L"Excel. Applicatio n.8", &clsid); // from registry
if(::GetActiveObject(clsid , NULL, &pUnk) == S_OK) {
VERIFY(pUnk->QueryInterfac e(IID_IDis patch,
(void**) &pDisp) == S_OK);
m_app.AttachDispatch(pDisp );
pUnk->Release();
TRACE(" attach complete\n");
}
else {
if(!m_app.CreateDispatch(" Excel.Appl ication.8" )) {
AfxMessageBox("Excel 97 program not found");
}
TRACE(" create complete\n");
}
EndWaitCursor();
}
void CExampleView::OnUpdateExce loleLoad(C CmdUI* pCmdUI)
{
pCmdUI->Enable(m_app.m_lpD ispatch == NULL);
}
my helder file is:
// exampleView.h : interface of the CExampleView class
//
////////////////////////// ////////// ////////// ////////// ////////// ////////// /
#if !defined(AFX_EXAMPLEVIEW_H __50D39E1F _48C9_11D3 _BC81_00A0 0CC11E38__ INCLUDED_)
#define AFX_EXAMPLEVIEW_H__50D39E1 F_48C9_11D 3_BC81_00A 00CC11E38_ _INCLUDED_
#include "excel8.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CExampleView : public CView
{
private:
_Application m_app;
Range m_range[5];
_Worksheet m_worksheet;
Workbooks m_workbooks;
_Workbook m_workbook;
Worksheets m_worksheets;
protected: // create from serialization only
CExampleView();
DECLARE_DYNCREATE(CExample View)
// Attributes
public:
CExampleDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CExampleVi ew)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRU CT& cs);
protected:
virtual BOOL OnPreparePrinting(CPrintIn fo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CExampleView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CExampleView)
afx_msg void OnExceloleExecute();
afx_msg void OnUpdateExceloleExecute(CC mdUI* pCmdUI);
afx_msg void OnUpdateExceloleLoad(CCmdU I* pCmdUI);
afx_msg void OnExceloleLoad();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in exampleView.cpp
inline CExampleDoc* CExampleView::GetDocument( )
{ return (CExampleDoc*)m_pDocument; }
#endif
////////////////////////// ////////// ////////// ////////// ////////// ////////// /
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_EXAMPLEVIEW_H __50D39E1F _48C9_11D3 _BC81_00A0 0CC11E38__ INCLUDED_)
thank you ...
exampleView.cpp(270) : error C2660: 'Add' : function does not take 0 parameters
E:\Microsoft Visual Studio\MyProjects\example\
E:\Microsoft Visual Studio\MyProjects\example\
E:\Microsoft Visual Studio\MyProjects\example\
E:\Microsoft Visual Studio\MyProjects\example\
E:\Microsoft Visual Studio\MyProjects\example\
Error executing cl.exe.
example.exe - 6 error(s), 0 warning(s)
my source code is :
void CExampleView::OnExceloleEx
{
LPDISPATCH pRange, pWorkbooks;
CWnd* pWnd = CWnd::FindWindow("XLMAIN",
if (pWnd != NULL) {
TRACE("Excel window found\n");
pWnd->ShowWindow(SW_SHOWNO
pWnd->UpdateWindow();
pWnd->BringWindowToTop();
}
m_app.SetSheetsInNewWorkbo
VERIFY(pWorkbooks = m_app.GetWorkbooks());
m_workbooks.AttachDispatch
LPDISPATCH pWorkbook = NULL;
if (m_workbooks.GetCount() == 0) {
// Add returns a Workbook pointer, but we
// don't have a Workbook class
pWorkbook = m_workbooks.Add(); // Save the pointer for
// later release
}
LPDISPATCH pWorksheets = m_app.GetWorksheets();
ASSERT(pWorksheets != NULL);
m_worksheets.AttachDispatc
LPDISPATCH pWorksheet = m_worksheets.GetItem(COleV
m_worksheet.AttachDispatch
m_worksheet.Select();
VERIFY(pRange = m_worksheet.GetRange(COleV
m_range[0].AttachDispatch(
VERIFY(pRange = m_worksheet.GetRange(COleV
m_range[1].AttachDispatch(
VERIFY(pRange = m_worksheet.GetRange(COleV
m_range[2].AttachDispatch(
VERIFY(pRange = m_worksheet.GetRange(COleV
COleVariant("C5")));
m_range[3].AttachDispatch(
VERIFY(pRange = m_worksheet.GetRange(COleV
m_range[4].AttachDispatch(
m_range[4].SetValue(COleVa
// retrieve the stored date and print it as a string
COleVariant vaTimeDate = m_range[4].GetValue();
TRACE("returned date type = %d\n", vaTimeDate.vt);
COleVariant vaTemp;
vaTemp.ChangeType(VT_BSTR,
CString str = vaTemp.bstrVal;
TRACE("date = %s\n", (const char*) str);
m_range[0].SetValue(COleVa
COleVariant vaResult0 = m_range[0].GetValue();
if (vaResult0.vt == VT_BSTR) {
CString str = vaResult0.bstrVal;
TRACE("vaResult0 = %s\n", (const char*) str);
}
m_range[1].SetValue(COleVa
COleVariant vaResult1 = m_range[1].GetValue();
if (vaResult1.vt == VT_R8) {
TRACE("vaResult1 = %f\n", vaResult1.dblVal);
}
m_range[2].SetFormula(COle
COleVariant vaResult2 = m_range[2].GetValue();
if (vaResult2.vt == VT_R8) {
TRACE("vaResult2 = %f\n", vaResult2.dblVal);
}
COleVariant vaResult2a = m_range[2].GetFormula();
if (vaResult2a.vt == VT_BSTR) {
CString str = vaResult2a.bstrVal;
TRACE("vaResult2a = %s\n", (const char*) str);
}
m_range[3].FillRight();
m_range[3].FillDown();
// cleanup
if (pWorkbook != NULL) {
pWorkbook->Release();
}
}
void CExampleView::OnUpdateExce
{
pCmdUI->Enable(m_app.m_lpD
}
void CExampleView::OnExceloleLo
{ // if Excel is already running, attach to it, otherwise start it
LPDISPATCH pDisp;
LPUNKNOWN pUnk;
CLSID clsid;
TRACE("Entering CEx25dView::OnExcelLoad\n"
BeginWaitCursor();
::CLSIDFromProgID(L"Excel.
if(::GetActiveObject(clsid
VERIFY(pUnk->QueryInterfac
(void**) &pDisp) == S_OK);
m_app.AttachDispatch(pDisp
pUnk->Release();
TRACE(" attach complete\n");
}
else {
if(!m_app.CreateDispatch("
AfxMessageBox("Excel 97 program not found");
}
TRACE(" create complete\n");
}
EndWaitCursor();
}
void CExampleView::OnUpdateExce
{
pCmdUI->Enable(m_app.m_lpD
}
my helder file is:
// exampleView.h : interface of the CExampleView class
//
//////////////////////////
#if !defined(AFX_EXAMPLEVIEW_H
#define AFX_EXAMPLEVIEW_H__50D39E1
#include "excel8.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CExampleView : public CView
{
private:
_Application m_app;
Range m_range[5];
_Worksheet m_worksheet;
Workbooks m_workbooks;
_Workbook m_workbook;
Worksheets m_worksheets;
protected: // create from serialization only
CExampleView();
DECLARE_DYNCREATE(CExample
// Attributes
public:
CExampleDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CExampleVi
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRU
protected:
virtual BOOL OnPreparePrinting(CPrintIn
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CExampleView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CExampleView)
afx_msg void OnExceloleExecute();
afx_msg void OnUpdateExceloleExecute(CC
afx_msg void OnUpdateExceloleLoad(CCmdU
afx_msg void OnExceloleLoad();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in exampleView.cpp
inline CExampleDoc* CExampleView::GetDocument(
{ return (CExampleDoc*)m_pDocument;
#endif
//////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_EXAMPLEVIEW_H
thank you ...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.