word如何将图片插入到光标所在位置?

小鸟向前飞 2016-10-17 03:54:22
响应了WindowSelectionChange事件,做了如下处理:


SelectionPtr spSelection = ptr;

VARIANT varLeft = spSelection->Information[wdHorizontalPositionRelativeToPage]; // 光标所在LEFT位置
VARIANT varTop = spSelection->Information[wdVerticalPositionRelativeToPage]; // 光标所在RIGHT位置

//spSelection->InlineShapes->AddPicture(L"E:\\image\\1.png", false, false);
VARIANT var;
var.vt = VT_I4;
var.lVal = 0;
WPS::ShapePtr spShape = m_spApp->ActiveDocument->Shapes->AddPicture(L"E:\\image\\1.png", false, false, &varLeft, &varTop);


但经过测试发现没有插入到光标所在的位置。
AddPicture函数参数中的Left,Top与selection指定的wdHorizontalPositionRelativeToPage、wdVerticalPositionRelativeToPage不是一个意义吗?

怎么能把图片插入到光标所在位置呢?请指教!
...全文
2431 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Viccy_Yao 2016-12-22
  • 打赏
  • 举报
回复
/// <summary> /// 光标处插入图片 /// </summary> /// <param name="picturePath"></param> /// <param name="width"></param> /// <param name="hight"></param> /// <param name="isUnderLine"></param> public void InsertPicture(string picturePath, float? width, float? hight, bool? isUnderLine) { Object linkToFile = false; //图片是否为外部链接 Object saveWithDocument = true; //图片是否随文档一起保存 object line = WdUnits.wdStory; object miss = System.Reflection.Missing.Value; wordDoc.Content.InsertAfter("\n"); wordApp.Selection.EndKey(ref line, ref miss); //将光标移动到文档末尾 object range = wordApp.Selection.Range; wordDoc.InlineShapes.AddPicture(picturePath, ref linkToFile, ref saveWithDocument, ref range); if (width != null) wordDoc.Application.ActiveDocument.InlineShapes[1].Width = width.Value; //设置图片宽度 if (hight != null) wordDoc.Application.ActiveDocument.InlineShapes[1].Height = hight.Value; //设置图片高度 }
dsd999 2016-10-24
  • 打赏
  • 举报
回复
看看能否得到光标当前的位置

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧