サンプル
CApplication App; CLSID clsid; LPDISPATCH pDisp; LPUNKNOWN pUnk; COleVariant varnull; // 既存のExcelのオブジェクトを取得 ::CLSIDFromProgID(_T("Excel.Application"), &clsid); if(::GetActiveObject(clsid, NULL, &pUnk) == S_OK) { pUnk->QueryInterface(IID_IDispatch, (void**) &pDisp ); App.AttachDispatch(pDisp); }else{ // 無いなら新規でExcelのオブジェクトを取得 if (!App.CreateDispatch(_T("Excel.Application"))) { ASSERT(0); return; } App.put_Visible(FALSE); // TRUE }
ネタ元