C# word表格中插入图片问题

时间:2022-05-13 06:22:23
我点击Button1按钮,把文本框内容和image控件中的图片读入到在已做好的word表格的相应的单元格中,当第二次点击按钮读入时文本框内容可以覆盖掉原来word中的内容,但图片无法覆盖,即两张图片同时存在于word表格中,请问只显示第二次的图片要怎么实现啊,我的代码如下:
 //插入图片
         newTable.Cell(2, 1).Select();//图片插入第二行第一列
         string lj = "D:\\"  + this.Image1.ImageUrl;
         object LinkToFile = false  ;
         object SaveWithDocument = true;
         object Anchor = WordDoc.Application.Selection.Range;
         WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(lj , ref LinkToFile, ref SaveWithDocument, ref Anchor);
//保存文件
         WordDoc.SaveAs(ref filename, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
          WordApp.NormalTemplate.Saved = true;
           WordDoc.Close(ref oMissing, ref oMissing, ref oMissing);
          WordApp.Quit(ref oMissing, ref oMissing, ref oMissing);

14 个解决方案

#1


自己顶!请教啦!

#2


没用过,帮顶

#3


该回复于2010-09-16 09:27:18被版主删除

#4


自己再顶!

#5


你不能先把原来的图片删除?

我很久前写过这种程序,记不清了。还有就是,将图片存储到本机上,再操作

#6


问题没解决,请教请教

#7


先删再加

newTable.Cell(2, 1).Range.Select();
WordDoc.Application.Selection.TypeBackspace();

#8


试了还是不行,不太明白是在第一行第一列插入文本框文字就能自动替换,图片就不行,望指点

#9


试试这样删
                       
Word.Shape deleteSharp = null;
                    foreach (Word.Shape s in doc.InlineShapes)
                    {
                        if(s.Anchor == newTable.Cell(2,1).Range)
                        {
                            deleteSharp = s;
                            break;
                        }  
                    }
                    if(deleteSharp != null)
                    {
                        deleteSharp.Delete();
                    }

#10


先把当前单元格清空了,再插入文字图片

#11


newTable.Cell(2, 1).Range.Text = "";

#12


还是不行,继续请教

#13


newTable.Cell(2, 1).Range.Text = "";不行,那百度下吧!呵呵,帮顶!

#14


newTable.Cell(2, 1).Range.Text = "";
newTable.Cell(2, 1).Select();//图片插入第二行第一列

#1


自己顶!请教啦!

#2


没用过,帮顶

#3


该回复于2010-09-16 09:27:18被版主删除

#4


自己再顶!

#5


你不能先把原来的图片删除?

我很久前写过这种程序,记不清了。还有就是,将图片存储到本机上,再操作

#6


问题没解决,请教请教

#7


先删再加

newTable.Cell(2, 1).Range.Select();
WordDoc.Application.Selection.TypeBackspace();

#8


试了还是不行,不太明白是在第一行第一列插入文本框文字就能自动替换,图片就不行,望指点

#9


试试这样删
                       
Word.Shape deleteSharp = null;
                    foreach (Word.Shape s in doc.InlineShapes)
                    {
                        if(s.Anchor == newTable.Cell(2,1).Range)
                        {
                            deleteSharp = s;
                            break;
                        }  
                    }
                    if(deleteSharp != null)
                    {
                        deleteSharp.Delete();
                    }

#10


先把当前单元格清空了,再插入文字图片

#11


newTable.Cell(2, 1).Range.Text = "";

#12


还是不行,继续请教

#13


newTable.Cell(2, 1).Range.Text = "";不行,那百度下吧!呵呵,帮顶!

#14


newTable.Cell(2, 1).Range.Text = "";
newTable.Cell(2, 1).Select();//图片插入第二行第一列