Excel保存的问题。
在VC大本营里查到一篇文章,利用Automate创建了一个Excel并陷入了SDI里,修改后想直接保存,但一直不能成功,(已经获的了LPDISPATCH lpDisp; lpDisp = theApp.m_pSelection->GetIDispatch(); )请教保存的方法。解决马上结贴。
void COfficeView::EmbedAutomateWord()
{
BeginWaitCursor();
COfficeCntrItem* pItem = NULL;
TRY
{
COfficeDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pItem = new COfficeCntrItem(pDoc);
ASSERT_VALID(pItem);
CLSID clsid;
if(FAILED(::CLSIDFromProgID(L"Excel.sheet",&clsid)))
AfxThrowMemoryException();
/////////////
if(!pItem->CreateNewItem(clsid))
AfxThrowMemoryException();
ASSERT_VALID(pItem);
pItem->DoVerb(OLEIVERB_SHOW, this);
theApp.m_pSelection = pItem;
pDoc->UpdateAllViews(NULL);
}
CATCH(CException, e)
{
if (pItem != NULL)
{
ASSERT_VALID(pItem);
pItem->Delete();
}
theApp.ShowMyMsgDlg("创建 Word 或 Excel 失败!");
}
END_CATCH
EndWaitCursor();
}