// TODO: Add extra validation here
HRESULT hr;
hr=CoInitialize(NULL);
if(FAILED(hr))
AfxMessageBox("failed to call CoInitialize()");
// ASSERT(!FAILED(hr));
IUnknown *pUnk;
IDispatch *pDisp;
CLSID clsid;
_Application m_wordApp;
CLSIDFromProgID(L"Word.Application", &clsid);
//²é¿´ÊÇ·ñÓÐÒѾ­´ò¿ªµÄWord¶ÔÏó
hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
if (!FAILED(hr))
{
hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
ASSERT(!FAILED(hr));
m_wordApp.AttachDispatch(pDisp,TRUE);
pUnk->Release();
}
else
// ÈôÎÞ£¬Ôòн¨Ò»¸öWord¶ÔÏó
{
COleException e;
if(!m_wordApp.CreateDispatch("Word.Application",&e))
{
e.ReportError();
AfxMessageBox("´´½¨ms_word¶ÔÏóʧ°Ü");
return;
// exit(1);
}
}
m_wordApp.SetVisible(TRUE);
/*AfxMessageBox("Start word OK"); */
COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERROR);
m_wordApp.Quit(&vOpt,&vOpt,&vOpt);
CreateDispatch
最新推荐文章于 2023-12-21 15:18:37 发布