请教:word中插入图片的代码,标红的语句会报错,请问是怎么回事?
error C2660: 'Word::InlineShapes::AddPicture' : function does not take 1 argumentsInlineShapesPtr pInShapes;
InlineShapePtr pInShape;
pInShapes = sel.get_InlineShapes();
pInShape = pInShapes->AddPicture("e:\\1.JPG");
error C2660: 'Word::InlineShapes::AddPicture' : function does not take 1 argumentsInlineShapesPtr pInShapes;
InlineShapePtr pInShape;
pInShapes = sel.get_InlineShapes();
pInShape = pInShapes->AddPicture("e:\\1.JPG");
解决方案 »
- 关于MAKEINTRESOURCE有个问题
- 如何传递自定义结构--MFC ActiveX ControlWizard建立的工程
- 请问在VC6中如何查询、停止和启动某个服务?如何查询、修改本机的网络参数?
- 悬赏100分求助:表格里动态创建多个checkbox,请各位给出解决方案及可能的函数。
- 困扰一周的莫名其妙的出错信息,求助大家指点
- VC.net 的单选控件默认选择问题
- 请问将数据读取到内存或者缓存是什么意思呀,怎么操作呀?(急)
- 请教两个关于线程的问题!!
- 如何获取执行程序的当前路径?
- 问个问题.一个窗体能不能调用另一个窗体内的某个事件?
- MFC串口控件如何对RTS/CTS置位?
- 通告消息 ,NMHDR结构体的用法
导入word库(标粉代码),生成msword.tlh中对AddPicture的定义(标红代码)就是4个参数,后三个为默认参数,正常我输入1个参数,应该可以编译通过;输入4个参数仍然报错:error C2660: 'Word::InlineShapes::AddPicture' : function does not take 4 arguments#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace raw_interfaces_only \
rename("FindText","_FindText") \
rename("Rectangle","_Rectangle") \
rename("ExitWindows","_ExitWindows")InlineShapePtr AddPicture (
_bstr_t FileName,
VARIANT * LinkToFile = &vtMissing,
VARIANT * SaveWithDocument = &vtMissing,
VARIANT * Range = &vtMissing );
当用#import导入时,正常在Debug目录下生成msword.tlh文件,为什么在C:\temp文件夹下页生成msword.tlh文件?而且从VS2008中查找,会指到C:\temp\msword.tlh请高手指点!
_Application m_app;
Documents m_docs;
_Document m_doc;
Selection m_sel;
InlineShape m_inlineShape;
InlineShapes m_inlineShapes; //建立WORD
if(!m_app.CreateDispatch(_T("Word.Application")))
{
AfxMessageBox("Word建立失败");
return;
}
m_app.SetVisible(TRUE);
//建立doc
m_docs=m_app.GetDocuments();
//doc::Add有4个参数
CComVariant Template(_T(""));//为了简单没有使用Template模版
CComVariant NewTemplate(false),DocumentType(0),Visible;
//打开一个文档
m_docs.Add(&Template,&NewTemplate,&DocumentType,&Visible); //获取光标
m_sel=m_app.GetSelection();
m_sel.TypeText("实验日期:"+m_strTestTime+" 实验点数:"+m_strTestPointNum+"\r\n"); //添加图片
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
m_doc=m_app.GetActiveDocument();
m_sel=m_app.GetSelection();
m_inlineShapes=m_sel.GetInlineShapes();
CString strTmp="C:\\bitmap.bmp"; m_inlineShape=m_inlineShapes.AddPicture(strTmp,&vFalse,&vTrue,&vOptional); //释放InlineShapes,sel,docs对象
m_inlineShape.ReleaseDispatch();
m_inlineShapes.ReleaseDispatch();
m_sel.ReleaseDispatch();
m_docs.ReleaseDispatch();
VARIANT SaveChange,OriginalFormat,RouteDocument;//定义调用QUIT时使用的参数 SaveChange.vt=VT_BOOL;//设置退出Word时保存的参数
SaveChange.boolVal=VARIANT_FALSE;//不保存任何文档,模版及设置 ::VariantInit(&OriginalFormat);//清空变量 RouteDocument.vt=VT_EMPTY;//清空变量的另一种方法 //用QUIT退出WORD,不调用就让WORD一直存在
//m_app.Quit(&SaveChange,&OriginalFormat,&RouteDocument); m_app.ReleaseDispatch();//释放对象指针
CString strTmp="e:\\1.JPG";
pInShape = pInShapes->AddPicture(strTmp);
这样就可以了