RT 谢谢

解决方案 »

  1.   

    要操作excel,你需要获取到它的实例,这一点比较难,可以考虑拦截com的相关api,来得到创建的实例.
      

  2.   

    这个要打开的excel表格是程序之前打开的,
    能否讲的清楚些
    我需要实现的:
    第一次生成或者打开一个excel表格,写入部分数据并显示(PS:这步骤我已完成)
    之后就是往该表格中陆续插入数据,是在已经打开的excel中操作,excel仍处于显示状态 谢谢
      

  3.   

    我的是操作CAD程序的(有打开的就用打开的,没的话就新建一个CAD),
    你改一下,就可以用了,
    CLSID clsid;
    //COleException e;
    //if (!IsStop()&&m_acadApp.m_lpDispatch) return TRUE;
    if (CLSIDFromProgID(OLESTR("AutoCad.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) m_acadApp.AttachDispatch(lpDispatch, TRUE);
    } // if not dispatch ptr attached yet, need to create one
    if (m_acadApp.m_lpDispatch == NULL &&
    !m_acadApp.CreateDispatch(clsid))
    {

    return false;
    }