Private void SetBookMarkValue(string filePath, Dictionary<string, string> bookMarks)
{
//创建一个Word应用程序实例
Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = false;
//模板文件地址
object oTemplate = filePath;//模板路径
//以模板为基础生成文档
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word._Document oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);
try
{
//赋值任意数据到书签的位置
foreach (KeyValuePair<string, string> bookMark in bookMarks)
{
oDoc.Bookmarks.get_Item(bookMark.Key).Range.Text = bookMark.Value;
}
oDoc.SaveAs(ref oTemplate, 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);
oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
oDoc = null;
oWord = null;
}
catch(Exception ex)
{
LogHelper.WriteLog(ex.Message);
}
}