【发布时间】:2017-06-28 16:57:00
【问题描述】:
我想通过 Word 模板自动打印发票。我想我的逻辑是错误的,但我只是不知道正确的编码方式。这是我当前的代码
Selection wrdSelection;
MailMerge wrdMailMerge;
MailMergeFields wrdMergeFields;
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
Document wrdDoc = new Document();
wordApp.Visible = false;
wrdSelection = wordApp.Selection;
object oMissing = System.Reflection.Missing.Value;
// PUT MY EXISTING TEMPLATE FILE INTO WORD DOCUMENT
wrdDoc = wordApp.Documents.Add(Properties.Resources.invoiceTemp,oMissing,oMissing, oMissing);
// RETREIVE MAIL MERGE PROPERTIES FROM THE DOCUMENT IN HOPES OF UTILIZING IT
wrdMailMerge = wrdDoc.MailMerge;
wrdDoc.Select();
wrdMergeFields = wrdMailMerge.Fields;
如果有帮助,这里是我模板上的合并字段:
date_issued, month_covered, invoiceNo, tuition, lunchFee, discount, studentNo, studentName, amountDue, penalty, @98654336@, penalty, @986 , status
现在,如何将使用我的应用程序检索到的数据添加到从模板中获取所有属性的文档中?
【问题讨论】:
-
您似乎没有阅读我在您的previous question 上提供的the reference。此外,在那个问题中,您接受了一个建议您基于模板创建文档的答案。模板应该已经包含相关的合并字段。
-
是的,但我仍然不知道如何添加/更改合并字段以包含要打印的数据。所以我走了另一条路
-
您阅读了链接吗?它说,在许多其他事情中
wrdMergeFields.Add(wrdSelection.Range, "Address"); -
合并字段的内容来自链接数据。要更改内容,请更改链接数据。它没有显示如何选择和更改文档中合并字段的内容,因为这样您就没有合并。你到底想做什么?
标签: c# merge interop mailmerge mergefield