управление office из моей программы
Есть MDI-приложение, есть OLE-контейнер, в котором открываю нужный документ MsWord.
Теперь вопрос - как в открытый документ вставить текст? Тоесть вообще как рабоатть с открытым документом (мне конкретно надо в закладки текст вставлять).
void CTechView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: remove this code when final selection model code is written
m_pSelection = NULL; // initialize selection
//Active documents should always be activated
COleDocument* pDoc = (COleDocument*) GetDocument();
if (pDoc != NULL)
{
// activate the first one
POSITION posItem = pDoc->GetStartPosition();
if (posItem != NULL)
{
CDocItem* pItem = pDoc->GetNextItem(posItem);
// only if it's an Active document
COleDocObjectItem *pDocObjectItem =
DYNAMIC_DOWNCAST(COleDocObjectItem, pItem);
if (pDocObjectItem != NULL)
{
pDocObjectItem->DoVerb(OLEIVERB_SHOW, this);
}
}
}
// Invoke the standard Insert Object dialog box to obtain information
// for new CTechCntrItem object.
BeginWaitCursor();
CTechCntrItem* pItem = NULL;
TRY
{
// Create new item connected to this document.
CTechDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pItem = new CTechCntrItem(pDoc);
ASSERT_VALID(pItem);
pItem->CreateFromFile("c:\\tmp\\tech\\Debug\\XOffice.doc",
CLSID_NULL,
OLERENDER_DRAW,
0,
NULL);
pItem->DoVerb(OLEIVERB_SHOW, this);
ASSERT_VALID(pItem);
// TODO: reimplement selection as appropriate for your application
m_pSelection = pItem; // set selection to last inserted item
pDoc->UpdateAllViews(NULL);
}
CATCH(CException, e)
{
if (pItem != NULL)
{
ASSERT_VALID(pItem);
pItem->Delete();
}
AfxMessageBox(IDP_FAILED_TO_CREATE);
}
END_CATCH
EndWaitCursor();
}
Благодарствую