近期需要给word模板中按固定格式去填写,将txt本文按固定格式读出来,将其填写至word模板中,并导出至新的word文档
1.需要给模板添加标签(鼠标放在要插入的标签处,点击插入工具栏中的标签工具,填写标签名称)
2.在vs(C#)创建工程
using Microsoft.Office.Interop.Word;(添加的引用)
worldApp为Microsoft.Office.Interop.Word.Application 类型
doc为Microsoft.Office.Interop.Word.Document 类型
我通过尝试发现worldApp每次new会非常慢,可以将其理解为一个word的工作空间,每次new相当于我们重新打开一个文档
我们也可以通过worldApp打开其它文档
这样会发现程序总时长会减少,快很多
BookMark_text为标签文本,即:
text为即将在改标签位置处插入的文本
public static void ModifyText(Application worldApp, Document doc,string BookMark_text,string text)
{
object BookMark = BookMark_text;
if (worldApp.ActiveDocument.Bookmarks.Exists(Convert.ToString(BookMark)))
{
//修改文字
worldApp.ActiveDocument.Bookmarks.get_Item(ref BookMark).Select();
doc.Bookmarks.get_Item(ref BookMark).Range.Text = text;
}
}