2011-09-30 28 views
4

我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。任何人都可以告訴我如何正確打印合並的文檔?

千恩萬謝

回答

5

在我的郵件合併的代碼,我設置MailMerge.Destination到wdSendToNewDocument執行合併之前,再後來我打電話WordApplication.ActiveDocument.Printout。

+0

是的我在執行合併之前已經有了MailMerge.Destination:= wdSendToNewDocument。然而,它在移除時顯示合併沒有任何區別。當我嘗試按照你的建議打印活動文檔時,它給了我「RPC服務器不可用」 – notidaho

+0

*編輯* 我在打印前保存並關閉文檔。有用!謝謝frogb :)任何人都可以在保存和結束語句中告訴我True和False的重要性嗎? – notidaho

+0

@notidaho:你不應該在Close方法中使用False或True,你必須指定一個wdSaveOption,參見http://msdn.microsoft.com/en-us/library/bb238160%28office.12%29.aspx –