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

聚合所要求的成员不存在

2012-12-30 
集合所要求的成员不存在void CMyDialog::OnBnClickedButton1(){CApplicationobjWordApp//word对象COleVar

集合所要求的成员不存在





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();//从新页面拷贝到剪贴板



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

这几句,item(1) 也会崩溃。

我是模仿 bcb板块 代码

改成vc就遇到这个问题



[解决办法]
要看前文你的inlineShapes有木有获取到,要是空的话,还.Item肯定出错

热点排行