程序启动EXCEL时,首先判断有没有EXCEL对象
    如果有就用该进程创建一个新的.XLS文件,并导出数据保存文档
    如果没有就创建一个新对象,导出数据保存文档
在VB中可以使用GetObject函数来判断是否存在EXCEL对象,在VC中怎么实现

解决方案 »

  1.   

    CWnd*   excel_wnd   =   CWnd::FindWindow("XLMAIN",NULL); 
      

  2.   

    /****
    _Application ExcelApp ;
    ExcelApp.CreateDispatch("excel.application");
    Workbooks  ExcelBook=ExcelApp.GetWorkbooks();
    ExcelApp.SetVisible(FALSE);
    *******/
    得到窗口,我怎样把它转化为Excel应用程序,我才可以使用调用EXCEL类库呢!
      

  3.   

        自己搞定
        CLSID clsid;
    COleException e;
    if (CLSIDFromProgID(OLESTR("excel.Application"), &clsid) != NOERROR)
    {
    return false;
    } // try to get the active calculator before creating a new one
    LPUNKNOWN lpUnk;
    LPDISPATCH lpDispatch;
    if (GetActiveObject(clsid, NULL, &lpUnk) == NOERROR)
    {
    HRESULT hr = lpUnk->QueryInterface(IID_IDispatch,(LPVOID*)&lpDispatch);
    lpUnk->Release();
    if (hr == NOERROR) ExcelApp.AttachDispatch(lpDispatch, TRUE);
    } if (ExcelApp.m_lpDispatch == NULL &&
    !ExcelApp.CreateDispatch(clsid, &e))
    {

    return false;
    }