2011-09-30 2 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; 

자동화 오류를 표시합니다.

저는 False 대신 True를 사용해 보았습니다. 아무도 내가 병합 된 문서를 올바르게 인쇄하는 방법에 관해서 조언 할 수 있습니까?

많은 감사 내 편지 병합 코드에서

답변

5

, 나는 내가 WordApplication.ActiveDocument.Printout 전화 후 다음 병합을 실행하기 전에 wdSendToNewDocument에 MailMerge.Destination을 설정합니다.

+0

예. Merge를 실행하기 전에 MailMerge.Destination : = wdSendToNewDocument를 사용했습니다. 그러나 병합이 제거되었을 때 병합을 표시하는 것과 차이가 없습니다. 활성 문서를 인쇄 할 때 "RPC 서버는 사용할 수 없습니다."라는 메시지가 나타납니다. – notidaho

+0

* 편집 * 인쇄하기 전에 문서를 저장하고 닫는 중입니다. 그것은 작동합니다! thanks frogb :) 누구나 저장 및 종료 진술에서 참 및 거짓의 중요성을 말할 수 있습니까? – notidaho

+0

@notidaho : Close 메서드에서 False 또는 True를 사용하면 안됩니다. wdSaveOption을 지정해야합니다. http://msdn.microsoft.com/en-us/library/bb238160%28office.12%29.aspx를 참조하십시오. –