如何像操作Word一样去操作Word文档里面一个Word类型的OLE对象(100分求急救)?
_Application wordapp; Documents docs; _Document doc; Range aRange; // 读取OLE对象 InlineShapes inlineShapes; InlineShape inlineSpape; COleVariant vTrue((short)TRUE), vFalse((short)FALSE), vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR); Selection wdSel; DWORD dwTick = GetTickCount(); if (!wordapp.CreateDispatch(L"Word.application",NULL)) { AfxMessageBox(L"office is not installed." , MB_OK|MB_SETFOREGROUND); CoUninitialize(); return FALSE; } dwTick = GetTickCount() - dwTick; TRACE(_T("CreateDispatch time is : %d\r\n"), dwTick); // 把word设置成不可见 wordapp.SetVisible(FALSE); // 创建文档 docs = wordapp.GetDocuments(); dwTick = GetTickCount(); doc = docs.Open(COleVariant(m_strFilePath),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt); dwTick = GetTickCount() - dwTick; TRACE(_T("Open Word's time is : %d\r\n"), dwTick); // 读取OLE对象 IDispatch *dispatch = doc.GetInlineShapes(); if(dispatch) { inlineShapes.AttachDispatch(dispatch); } int nOLECount = inlineShapes.GetCount(); if(nOLECount>0) { for (int i = 1; i <= nOLECount; i++) { inlineSpape.AttachDispatch(inlineShapes.Item((long)i)); OLEFormat OLEForm; dispatch = inlineSpape.GetOLEFormat(); if (dispatch) { OLEForm.AttachDispatch(dispatch); }////////////// 问题出现处////////////////////////// } } doc.Close(vOpt,vOpt,vOpt); wordapp.Quit(vOpt,vOpt,vOpt); aRange.DetachDispatch(); inlineSpape.DetachDispatch(); inlineShapes.DetachDispatch(); doc.DetachDispatch(); docs.DetachDispatch(); wordapp.DetachDispatch(); return TRUE;