word里书签插入图片的问题

wzllin 2011-08-17 09:50:30
object NameBookMark = "pzr";
object rng = winWordControl1.document.Bookmarks.Item(ref NameBookMark).Range;
Word.InlineShape il;
il=winWordControl1.document.InlineShapes.AddPicture("1.bmp", ref Linktofile, ref savewithdocument, ref rng);
il.Width = 60;
il.Height = 30;


如何对插入的图片设置为衬于文字下方
...全文
503 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cherry630 2011-08-18
  • 打赏
  • 举报
回复
word里直接插入图片,对插入的图片设置为衬于文字下方,直接双击图片有属性就可以设置啦
wzllin 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 luoable 的回复:]
我不确定下面这代码对你有没有用, 你可以试试

Shape ilShape = il.ConvertToShape();
ilShape.Select();
ilShape.WrapFormat.Type= WdWrapType.wdWrapNone;
ilShape.ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBehin……
[/Quote]
也会移位的
wzllin 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 luoable 的回复:]
我不确定下面这代码对你有没有用, 你可以试试

Shape ilShape = il.ConvertToShape();
ilShape.Select();
ilShape.WrapFormat.Type= WdWrapType.wdWrapNone;
ilShape.ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBehin……
[/Quote]
Shape 的命名空间是什么
crackdung 2011-08-17
  • 打赏
  • 举报
回复
用這個控件來幫助你:
http://www.textcontrol.com/en_US/
wzllin 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 luoable 的回复:]
我觉得可能是书签的问题,第一个书签插入图片成功后,影响了第二个书签的位置,你调试时,对比一下两个书签插入图片前后的Start与End属性看看。
[/Quote]
我试了一下,只插入一个图片,也会移位
Luoable 2011-08-17
  • 打赏
  • 举报
回复
我觉得可能是书签的问题,第一个书签插入图片成功后,影响了第二个书签的位置,你调试时,对比一下两个书签插入图片前后的Start与End属性看看。
wzllin 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzllin 的回复:]
引用 2 楼 luoable 的回复:
先转成Shape,再调用ZOrder方法设置就OK啦
il.ConvertToShape().ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBehindText);


string spr = dt.Rows[0]["CONFIRM_EMP_NAME"].ToString();
str……
[/Quote]
spr这个书签的图片的位置还往上移动了
wzllin 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 luoable 的回复:]
先转成Shape,再调用ZOrder方法设置就OK啦
il.ConvertToShape().ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBehindText);
[/Quote]

string spr = dt.Rows[0]["CONFIRM_EMP_NAME"].ToString();
string shr = dt.Rows[0]["AUDIT_EMP_NAME"].ToString();

string PicturePath;
PicturePath = SystemInfo.RunPath + "BMP\\";
object Linktofile = false;
object savewithdocument = true;

object NameBookMark = "spr";
object rng = winWordControl1.document.Bookmarks.Item(ref NameBookMark).Range;
if (File.Exists(PicturePath + spr + ".bmp"))
{
Word.InlineShape il;
il = winWordControl1.document.InlineShapes.AddPicture(PicturePath + spr + ".bmp", ref Linktofile, ref savewithdocument, ref rng);
il.Width = 30;
il.Height = 25;
il.ConvertToShape().ZOrder(Office.MsoZOrderCmd.msoBringInFrontOfText);
}

object NameBookMark1 = "shr";
object rng1 = winWordControl1.document.Bookmarks.Item(ref NameBookMark1).Range;
if (File.Exists(PicturePath + shr + ".bmp"))
{
Word.InlineShape il1;
il1 = winWordControl1.document.InlineShapes.AddPicture(PicturePath + shr + ".bmp", ref Linktofile, ref savewithdocument, ref rng1);
il1.Width = 30;
il1.Height = 25;
il1.ConvertToShape().ZOrder(Office.MsoZOrderCmd.msoBringInFrontOfText);
}

shr这个书签的图片没有msoSendBehindText效果
spr这个书签的图片有这个效果,为什么
Luoable 2011-08-17
  • 打赏
  • 举报
回复
先转成Shape,再调用ZOrder方法设置就OK啦
il.ConvertToShape().ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBehindText);
wzllin 2011-08-17
  • 打赏
  • 举报
回复
??????????????????
Luoable 2011-08-17
  • 打赏
  • 举报
回复
我不确定下面这代码对你有没有用, 你可以试试

Shape ilShape = il.ConvertToShape();
ilShape.Select();
ilShape.WrapFormat.Type= WdWrapType.wdWrapNone;
ilShape.ZOrder(Microsoft.Office.Core.MsoZOrderCmd.msoSendBehindText);
wzllin 2011-08-17
  • 打赏
  • 举报
回复
????????????
crackdung 2011-08-17
  • 打赏
  • 举报
回复
我說的控件能支持word文檔建立和編輯
wzllin 2011-08-17
  • 打赏
  • 举报
回复
??????????
基于Microsoft Visual Studio 2008环境(具体项目类型为“Visual C#”→“Office” →“2007”→“Word2007 外接程序”),用C#语言开发实现的Word2007扩展插件,对Word文档的处理入库很有用,尤其针对项目,有时候需要将用户给的上万个word文档数据整理入库(SQL或者Oracle数据库),这个时候就要考虑怎么去读这些word文档,通常用户给的word文档比较规范,对于规范的word文档比较好写程序去读取,但是还是代码不少,还要反复测试,另外就是用户给的上万个word文档格式可能不完全相同,比如一开始省面定制了一个很规范的word文档,发下去给所有的县市去收集数据,但是发下去后可能下面的县市会对模板进行一定的修改,或者是因为填写人不小心把文档结构进行了微调或者进行了增删,这个时候要100%的将数据入库是比较困难的,如果写程序去读是需要写几套策略去读的,这样工作量就相当大,并且可能需要很多人配合去检查数据表格或者调整表格格式,为解决这个问题,本人就想到有没有一种更简单的办法,因此累计花了三四天的时间诞生了这个智能书签插入工具。一般我们搞开发的时候用到的是事先做好一个word模板,在相应位置插入书签,然后程序在需要导出表格的时候就调用这个模板,往插了书签的地方写文本或者图片,反向思考,这让我想到了能不能往用户给的上万个word文档先插入书签,然后我们再写程序去直接读取插了书签word文档,这样的好处是显而易见的:第一,不管用户给的表格规范不规范,都可以以一定的策略将书签准确无误的插到预期位置;第二,一旦文档插入了书签,读取word文档的程序会变得很简单,原来上千上万行的代码会精简到几百或者最多几千行代码;第三,这个书签插入工具是通用工具,可以灵活的应对各种格式的文档,一旦做好了就不需要修改或者很少修改;第四,对文档的处理更灵活,更容易分工合作,更容易查错和进行批处理。当然,这个工具也必须满足几个条件:第一,书签插入的大量工作必须是智能化的;第二,用策略不能完全插入到预期位置的书签,需要有人工插入的功能;第三,需要有质量检查的功能。而这些在本插件已经完全解决,唯一不足的是效率还是没有预期那么好,但是,相对于人工处理或者反复写程序去读取文档,该工具绝对可以省去很多时间和人力物力。该工具绝对是世界上独一无二的,当然如果需要更多功能,聪明的你也可以继续发挥哦……

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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