admin 管理员组文章数量: 887021
插入图片
往excel中插入图片
根据excel录制宏后生成的vb代码进行改写即可,插入图片的接口:
CShapes 类下的函数
LPDISPATCH AddPicture(LPCTSTR Filename, long LinkToFile, long SaveWithDocument, float Left, float Top, float Width, float Height);
Filename:插入的图片名称,如果图片不存在,则会出错
LinkToFile:一般写成1就行
SaveWithDocument:写成1就行
float Left, float Top, float Width, float Height:要插入图片的位置和宽高
CWorksheet sheet; // 需要自己创建app后绑定sheet
CShapes cshapes;
CRange rangePic;
VARIANT varTmp;
LPDISPATCH lpDisp;
float fTopPic = 0.0, fLeftPic = 0.0, fBottomPic = 0.0, fRightPic = 0.0;CString strTemp;rangePic.AttachDispatch(sheet.get_Range(_variant_t(_T("A1")), _variant_t(_T("C5"))), TRUE); //起始位置A1,终止位置C5
varTmp = rangePic.get_Top();
fTopPic = (float)varTmp.dblVal;
varTmp = rangePic.get_Left();
fLeftPic = (float)varTmp.dblVal;
varTmp = rangePic.get_Height();
fBottomPic = (float)varTmp.dblVal;
varTmp = rangePic.get_Width();
fRightPic = (float)varTmp.dblVal;cshapes.AttachDispatch(sheet.get_Shapes(), TRUE);lpDisp = cshapes.AddPicture(_T(strPicName), 1, 1, fLeftPic, fTopPic, fRightPic, fBottomPic);
ASSERT(lpDisp);
lpDisp->Release();
cshapes.ReleaseDispatch();
cshapes.DetachDispatch();
rangePic.ReleaseDispatch();
还是要强调releasedispatch,不然excel没有退出,在任务管理器里会有EXCEL32.EXE没有退出。
本文标签: 插入图片
版权声明:本文标题:插入图片 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687739206h135526.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论