项目中用到再word的指定位置添加内容,所以使用了标签,以下内容转自:

http://www.cnblogs.com/Ericzhen/archive/2007/08/15/857139.html

1、在Word文档中插入一个书签,书签名称为“tl”;

2、新建一个C#项目,然后在引用中添加Word类库;由于我使用的是Office2007,因此选择的是"Microsoft Word 12.0 Object Library",如果你使用的是Office2003,就应该选择11.0;

3、在代码顶部添加对Word类库的引用;

C#在Word文档指定位置增加内容using Word = Microsoft.Office.Interop.Word;

4、打开Word文档

C#在Word文档指定位置增加内容object missingValue = System.Reflection.Missing.Value;
C#在Word文档指定位置增加内容
object myTrue = false; //不显示Word窗口
C#在Word文档指定位置增加内容
object fileName = @"F:\Doc1.doc";
C#在Word文档指定位置增加内容 Word._Application oWord
= new Word.ApplicationClass();
C#在Word文档指定位置增加内容 Word._Document oDoc;
C#在Word文档指定位置增加内容 oDoc
= oWord.Documents.Open(ref fileName, ref missingValue,
C#在Word文档指定位置增加内容
ref myTrue, ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue);

5、找到刚才添加的书签(注释部分为跳转至标签位置并添加文本的三种方法,做其他参考)

/*方法一:使用Word应用程序变量,使用这种方法,wordApp.Documents.Open()中确保isVisible的值为true
if (wordApp.ActiveDocument.Bookmarks.Exists("BM_TEST"))
{
wordApp.ActiveDocument.Bookmarks.get_Item(ref bk).Select();
wordApp.Selection.TypeText("insert text"); // 插入文本
}

方法二:使用Word文档变量
if (wordDoc.Bookmarks.Exists("BM_TEST"))
{
wordDoc.Bookmarks.get_Item(ref bk).Range.Text = "insert text"; // 插入文本
}

方法三:使用Goto函数,跳转到指定书签
object BookMarkName = "BM_TEST";
object what = MSWord.WdGoToItem.wdGoToBookmark;
wordDoc.ActiveWindow.Selection.GoTo(ref what, ref Nothing, ref Nothing, ref BookMarkName);
wordDoc.ActiveWindow.Selection.TypeText("Hello!");

C#在Word文档指定位置增加内容*/

 

object tmp = "t1";
C#在Word文档指定位置增加内容 Word.Range startRange
= oWord.ActiveDocument.Bookmarks.get_Item(ref tmp).Range;

6、删除在该位置的表格

C#在Word文档指定位置增加内容Word.Table tbl = startRange.Tables[1];
C#在Word文档指定位置增加内容tbl.Delete();

如果书签所在的位置并没有插入表格,程序并不会删除该位置下面的表格,而是会抛出异常,报错。

7、插入表格,并划线

C#在Word文档指定位置增加内容//添加表格
C#在Word文档指定位置增加内容
oDoc.Tables.Add(startRange, 5, 4, ref missingValue, ref missingValue);
C#在Word文档指定位置增加内容
C#在Word文档指定位置增加内容
//为表格划线
C#在Word文档指定位置增加内容
startRange.Tables[1].Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleSingle;
C#在Word文档指定位置增加内容startRange.Tables[
1].Borders[WdBorderType.wdBorderLeft].LineStyle = WdLineStyle.wdLineStyleSingle;
C#在Word文档指定位置增加内容startRange.Tables[
1].Borders[WdBorderType.wdBorderRight].LineStyle = WdLineStyle.wdLineStyleSingle;
C#在Word文档指定位置增加内容startRange.Tables[
1].Borders[WdBorderType.wdBorderBottom].LineStyle = WdLineStyle.wdLineStyleSingle;
C#在Word文档指定位置增加内容startRange.Tables[
1].Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
C#在Word文档指定位置增加内容startRange.Tables[
1].Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleSingle;

全部的代码如下:

C#在Word文档指定位置增加内容object missingValue = System.Reflection.Missing.Value;
C#在Word文档指定位置增加内容
object myTrue = false; //不显示Word窗口
C#在Word文档指定位置增加内容
object fileName = @"F:\Doc1.doc";
C#在Word文档指定位置增加内容 Word._Application oWord
= new Word.ApplicationClass();
C#在Word文档指定位置增加内容 Word._Document oDoc;
C#在Word文档指定位置增加内容 oDoc
= oWord.Documents.Open(ref fileName, ref missingValue,
C#在Word文档指定位置增加内容
ref myTrue, ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue, ref missingValue, ref missingValue,
C#在Word文档指定位置增加内容
ref missingValue);
C#在Word文档指定位置增加内容
try
;

 

相关文章:

  • 2022-12-23
  • 2021-10-06
  • 2022-12-23
  • 2021-11-04
  • 2022-02-07
  • 2021-11-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案