【问题标题】:Delphi Word automation - print merged documentDelphi Word 自动化 - 打印合并文档
【发布时间】:2011-09-30 09:33:23
【问题描述】:

我的 D5 应用程序目前可以使用以下方式将多个成员数据合并到 Word 文档中:

wrdapp := CreateOleObjct(word.application);
wrdDoc := wrdApp.Document.Open(TemplateLocation);
wrdMailMerge := wrdDoc.MailMerge;
populateMailMergeDateFile;
wrdMailMerge.execute;

然后

wrdDoc.Saved := False;
wrdDoc.Close(False);
wrdApp.Visible := True;

我想提供将合并后的文档直接传送到打印机的选项。但是我找不到允许这种情况发生的代码

wrdDoc.PrintOut;
wrdDoc.Saved := False;
wrdDoc.Close(False);

打印出没有合并数据的模板文档。

wrdDoc.Saved := False;
wrdDoc.Close(False);
wrdDoc.PrintOut;

显示变体对象错误。

wrdMailMerge.PrintOut;

显示自动化错误。

我也尝试过使用 True 而不是 False。谁能告诉我如何正确打印合并的文档?

非常感谢

【问题讨论】:

    标签: delphi printing ms-word mailmerge


    【解决方案1】:

    在我的邮件合并代码中,我在执行合并之前将 MailMerge.Destination 设置为 wdSendToNewDocument,然后调用 WordApplication.ActiveDocument.Printout。

    【讨论】:

    • 是的,在执行合并之前我有 MailMerge.Destination := wdSendToNewDocument。但是,在删除合并时显示合并并没有什么不同。当我按照您的建议尝试打印活动文档时,它给了我“RPC 服务器不可用”
    • edit 我在打印之前保存并关闭了文档。有用!谢谢 frogb :) 谁能告诉我保存和关闭语句中 True 和 False 的意义?
    • @notidaho:您不应该在 Close 方法中使用 False 或 True,您必须指定 wdSaveOption,请参阅 msdn.microsoft.com/en-us/library/bb238160%28office.12%29.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多