首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

妖哥在不在,帮忙看个office有关问题

2013-01-05 
妖哥在不在,帮忙看个office问题啊 代码模仿你的void CMyDialog::OnBnClickedButton1(){CApplicationobjWor

妖哥在不在,帮忙看个office问题啊

 代码模仿你的





void CMyDialog::OnBnClickedButton1()
{

CApplication  objWordApp;            //word对象
COleVariant ovTrue((short)TRUE);    //true
COleVariant ovFalse((short)FALSE);  //false
COleVariant ovOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);


//创建一个IDispatch指针
if (!objWordApp.CreateDispatch("Word.Application"))
{
AfxMessageBox("Couldn't get Word object.");
return;
}
objWordApp.put_Visible(TRUE);              //显示应用程序
objWordApp.put_DisplayAlerts(FALSE);


CDocuments  docs(objWordApp.get_Documents()); //word文档
CDocument0  docPrint;                        //word文档


COleVariant   FileName(LPCTSTR(_T("f:\\3.doc")));

COleVarianttempFormat(long(wdOpenFormatDocument),VT_I4);


//打开文件
docPrint=docs.Open(FileName, ovFalse,
ovTrue, ovFalse,
ovOptional,ovOptional, 
&ovOptional, &ovOptional, 
&ovOptional,&tempFormat, //
ovOptional,ovFalse, 
ovFalse, &ovOptional,
ovTrue, &ovOptional);

docPrint.Repaginate();

CDocument0  NewDoc=docs.Add(ovOptional,ovOptional,ovOptional,ovOptional);//产生一个新页

docPrint.Activate();

CSelection sel=objWordApp.get_Selection();

COleVariant What((long)1);
COleVariant Which((long)2);
COleVariant Count((long)1);
COleVariant Name((long)2);

sel.GoTo(What, Which, Count, Name);  //第2页

COleVariant Unit((long)6);
COleVariant Extend((long)1);

sel.EndKey(Unit,Extend);//结束改页(选中)


sel.Copy();//拷贝到剪贴板中


NewDoc.Activate();


COleVariant vPlacement(long(0),VT_I4);
COleVariant vDtaType(long(9),VT_I4);//wdPasteEnhancedMetafile
sel.PasteSpecial(ovOptional,ovFalse,vPlacement,ovFalse,vDtaType,ovOptional,ovOptional);//从剪贴中粘贴到新页面


CinlineShapesinlineShapes=NewDoc.get_InlineShapes();

CinlineShapeinlineShape=inlineShapes.Item(0);//这句崩溃了,集合所要求的成员不存在


inlineShape.Select();

sel.Copy();//从新页面拷贝到剪贴板





你 的代码为:

 vNewDoc.OlePropertyGet("InlineShapes").OleFunction("Item", 1).OleProcedure("Select");

我试过了,无论1还是0作为参数都会提示错误


msdn我看过了,是个index, vba的开发文档我也看了,不能够解决


错误提示:集合所要求的成员不存在
剪贴板里的内是的对, 我看过了



[解决办法]
我来了. 你那个新页面(NewDoc)中, 粘贴操作是否成功了?

热点排行