サンプル
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
}ネタ元