虽然找了网上的很多资料,有一段程序
_Application app;
Selection sel=app.GetSelection();
InlineShapes inlineshapes = sel.GetInlineShapes();
LPCTSTR FileNameBMP = "C:\\1.jpg";
CComVariant LinkToFile(FALSE);
CComVariant SaveWithDocument(FALSE);
CComVariant RangeT;
RangeT.vt = VT_DISPATCH;
RangeT.pdispVal = sel.m_lpDispatch;
inlineshapes.AddPicture(FileNameBMP,&LinkToFile,&SaveWithDocument,&RangeT);结果说是“类型不匹配”。请大虾指教!
_Application app;
Selection sel=app.GetSelection();
InlineShapes inlineshapes = sel.GetInlineShapes();
LPCTSTR FileNameBMP = "C:\\1.jpg";
CComVariant LinkToFile(FALSE);
CComVariant SaveWithDocument(FALSE);
CComVariant RangeT;
RangeT.vt = VT_DISPATCH;
RangeT.pdispVal = sel.m_lpDispatch;
inlineshapes.AddPicture(FileNameBMP,&LinkToFile,&SaveWithDocument,&RangeT);结果说是“类型不匹配”。请大虾指教!
{
_Application objWord;
// ÓÃCOleVariant¶¨Òå±äÁ¿±È½Ï·½±ã
COleVariant covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
// µÃµ½ IDispatch Ö¸Õë²¢¸½¼Óµ½objWord¶ÔÏóÖÐ.
if (!objWord.CreateDispatch("Word.Application"))
{
AfxMessageBox("Couldn''t get Word object.");
return;
}
objWord.SetVisible(TRUE); //ÏÔʾ³ÌÐò´°¿Ú.
Documents docs(objWord.GetDocuments());
_Document testDoc;
testDoc.AttachDispatch
(
docs.Open
(
COleVariant("C:\\Doc1.doc",VT_BSTR),
covFalse, // È·ÈÏת»»
covFalse, // Ö»¶Á
covFalse, // Ìí¼Óµ½×î½üÎļþÖÐ
covOptional, // Îĵµ¿ÚÁî.
covOptional, // Ä£°å¿ÚÁî.
covFalse, // »Ö¸´Ô­×´.
covOptional, // дÎĵµ¿ÚÁî.
covOptional, // дģ°å¿ÚÁî.
covOptional, // ¸ñʽ. // ¸Ã²ÎÊýÓÃÓÚ Word 97 ÒÔÇ°
covOptional, // ±àÂë // ÓÃÓÚ Word 2000/2002
covTrue, // ¿É¼û
covOptional, // ´ò¿ª²¢ÐÞ¸´
COleVariant((long)0, VT_I4 ), // DocumentDirection wdDocumentDirection LeftToRight
covOptional // ÎÞ±àÂë¶Ô»°¿ò
) // Close Open parameters
); // Close AttachDispatch(¡­)
//´ò¿ªWordÎĵµ£»
Selection sel;
sel.AttachDispatch( objWord.GetSelection() );//½«SelectionÀà¶ÔÏóm_SelºÍIdispatch½Ó¿Ú¹ØÁªÆðÀ´£»
InlineShapes inlineshapes;
inlineshapes.AttachDispatch( sel.GetInlineShapes() );
LPCTSTR FileNameBMP = "C:\\abcdef.bmp";
InlineShape inlineshape;
inlineshape.AttachDispatch( inlineshapes.AddPicture(FileNameBMP,covFalse,covTrue,covOptional) );
inlineshape.ReleaseDispatch();
inlineshapes.ReleaseDispatch();
sel.ReleaseDispatch();
testDoc.ReleaseDispatch();
docs.ReleaseDispatch();
objWord.ReleaseDispatch();
}