为什么,上天这样对我

lltaotao007 lltaotao007 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想让图片就插入在当前位置,但是它始终跑到最前面去,不知道怎么回事?
这是代码.


//Commonly used variants.
COleVariant vTrue((short)TRUE),
vFalse((short)FALSE),
vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

//Start a new instance of Microsoft Word
_Application oWordApp;
if (!oWordApp.CreateDispatch("Word.Application", NULL))
{
AfxMessageBox("为什么不能创建.",
MB_OK | MB_SETFOREGROUND);
return;
}

try
{

//Create a new document
Documents oDocs;//代表一个WORD程序里的所有文档

_Document oDoc;//代表一个文档

oDocs = oWordApp.GetDocuments();
oDoc = oDocs.Add(vOpt, vOpt,vOpt, vOpt);

//Add text to the document
Selection oSel;
oSel = oWordApp.GetSelection();
oSel.TypeText("onetaotao");
oSel.TypeParagraph();
oSel.TypeText("twotaotao");
oSel.TypeParagraph();
oSel.TypeText("threetaotao");

COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

Shapes shps;//表示word中的所有图片
Shape shp;//表示word中的某张图片
shps=oDoc.GetShapes();//得到文档中的所有图片
//加入一张图片
Paragraph paragraph;//用来表示文档中某一段
Paragraphs paragraphs;//用来表示文档中所有段
paragraphs=oDoc.GetParagraphs();

// paragraph=paragraphs.Item(3);//得到第n段,以插入到某段上


shps.AddPicture("f:\\0001.jpg",covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional);
//图片插入之后,反而在onetaotao,twotaotao,threetaotao的前面,这是怎么回事

//Save the document
_Document oActiveDoc;
oActiveDoc = oWordApp.GetActiveDocument();
oWordApp.SetVisible(TRUE);

oActiveDoc.SaveAs(COleVariant("e:\\mydoc2.doc"),
COleVariant((short)0),
vFalse, COleVariant(""), vTrue, COleVariant(""),
vFalse, vFalse, vFalse, vFalse, vFalse);
}

catch(COleException *e)
{
LPVOID lpMsg;
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS, NULL, e->m_sc,
MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT),(LPTSTR) &lpMsg,
0, NULL);
::MessageBox(NULL, (LPCTSTR)lpMsg, "COM Error",
MB_OK | MB_SETFOREGROUND);
::LocalFree( lpMsg );
}

catch(COleDispatchException *e)
{
char msg[512];
sprintf(msg, "Run-time error '%d':\n\n%s",
e->m_scError & 0x0000FFFF, e->m_strDescription);
::MessageBox(NULL, msg, "Server Error",
MB_OK | MB_SETFOREGROUND);
}


//Quit the application
oWordApp.Quit(vFalse, vOpt, vOpt);


这就这点分,大家帮忙呀!谢谢
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
lltaotao007
VC/MFC 16,550 成员 421,606 内容