C# word标签替换问题 各位大侠好: 我遇到word中标签替换的问题,在word文档中我在两个地方用到同一个标签名,添加后,我c#生成word文档替换标签内容时只能将第一个标签替换过来,第二个并没有成功替换,这个问题怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Word.Document doc = null;// new Word.Document(); //Document doc = new Document(); object Obj_FileName = newfilePath; object Visible = false; object ReadOnly = false; object missing = System.Reflection.Missing.Value; Book book = new Book(); try { //打开文件 doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref Visible, ref missing, ref missing, ref missing, ref missing); doc.Activate(); try { object BookMarkName = "name"; object what = Word.WdGoToItem.wdGoToBook; if (app.ActiveDocument.Books.Exists("name") == true) { //WordApp.ActiveDocument.Books.get_Item(ref BookMarkName).Select(); try { doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName); string name = wd.Ht_HT.First(h => h.ID == Convert.ToInt64(buildID)).name.ToString(); doc.ActiveWindow.Selection.TypeText(name.ToString()); } catch { catchstring += "该名称替换失败!"; } }catch{}代码就是这样子来写的了 这句是什么?string name = wd.Ht_HT.First(h => h.ID == Convert.ToInt64(buildID)).name.ToString(); try: doc.ActiveWindow.Selection.Find.Execute( string name = wd.Ht_HT.First(h => h.ID == Convert.ToInt64(buildID)).name.ToString(); 这句是linq语句,我是用书签替换的呀find.Execute()如何用呢? object Find = "123"; object NewString = "ZZZZZZZ"; // doc.ActiveWindow.Selection. object Replace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll; doc.ActiveWindow.Selection.Find.Execute(ref Find, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref NewString, ref Replace, ref missing, ref missing, ref missing, ref missing); doc.ActiveWindow.Selection.Find.Execute(ref BookMarkName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref BookValue, ref Replace, ref missing, ref missing, ref missing, ref missing); 为什么我按照这个来替换根本替换不了呢? WPF编辑单元格值问题 读取pdf文件 NetTiers生成web应用程序没有命名空间 使用C#读取XML后 如何在TreeView中显示其树形结构??? 想做个程序,远程通过SqlServer2000的DTS倒数据 如何获得页面上的刷新(F5)事件 Treeview控件问题 如何打印WinForm DataGrid数据 我要把一长段HTML赋给一个变量,什么方法最简单? 关于不规则窗口 c# 怎么写dll的问题 xml错误(无法解析此远程名称: 'hibernate.sourceforge.net')
//Document doc = new Document();
object Obj_FileName = newfilePath;
object Visible = false;
object ReadOnly = false;
object missing = System.Reflection.Missing.Value;
Book book = new Book();
try
{
//打开文件
doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref Visible,
ref missing, ref missing, ref missing,
ref missing);
doc.Activate(); try
{
object BookMarkName = "name";
object what = Word.WdGoToItem.wdGoToBook;
if (app.ActiveDocument.Books.Exists("name") == true)
{
//WordApp.ActiveDocument.Books.get_Item(ref BookMarkName).Select();
try
{
doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
string name = wd.Ht_HT.First(h => h.ID == Convert.ToInt64(buildID)).name.ToString();
doc.ActiveWindow.Selection.TypeText(name.ToString());
}
catch
{
catchstring += "该名称替换失败!";
}
}
catch{}代码就是这样子来写的了
string name = wd.Ht_HT.First(h => h.ID == Convert.ToInt64(buildID)).name.ToString();
try: doc.ActiveWindow.Selection.Find.Execute(
这句是linq语句,
我是用书签替换的呀find.Execute()如何用呢?
object NewString = "ZZZZZZZ";
// doc.ActiveWindow.Selection.
object Replace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll; doc.ActiveWindow.Selection.Find.Execute(ref Find, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref NewString, ref Replace, ref missing, ref missing, ref missing, ref missing);
ref missing, ref missing, ref missing, ref missing, ref missing, ref BookValue, ref Replace, ref missing, ref missing, ref missing, ref missing);
为什么我按照这个来替换根本替换不了呢?