Word (2016)에서 편지 병합을 수행해야하는 작업이 있습니다. 정상적인 편지 병합을 수행해야하지만 Outlook을 사용하지 않고 맞춤 이메일을 보내야합니다. 사용자에게 친숙하기 때문에 기본 제공 편지 병합 마법사를 사용하고 싶지만 마법사를 호출하는 방법을 찾을 수 없습니다. VBA에 대한 ShowWizard 메서드를 찾았지만 C#에는 아무 것도 없습니다. VSTO C#을 사용하여 편지 병합 마법사에 액세스 할 수 있습니까? 목표를 달성 할 수있는 더 좋은 방법이 있습니까?C#의 Word 편지 병합 마법사
답변
먼저 VBA 또는 Interop 라이브러리를 사용하지 말 것을 권한다. 둘 다 MS Office가 설치된 컴퓨터에서만 실행할 수 있습니다. VBA 응용 프로그램을 사용하면 서로 다른 버전의 Office 사용자가 업데이트를 실행할 때와 새로운 업데이트가있을 때 문제가 발생할 수 있습니다. Interop은 또한 서버 시나리오에 문제가있는 것으로 알려져 있습니다.
메일 병합의 경우 OpenXML 기반의 타사 도구 키트 중 하나를 선택하면 MS Office없이 실행할 수 있습니다 (서버 시나리오 생각). 데이터에 대한 자리 표시자가있는 MS Word 템플리트 문서가 필요합니다. 그런 다음 C#을 사용하여 보고서 데이터를로드하고 템플릿과 데이터를 병합하여 최종 문서 (docx, pdf, xps 또는 이미지 형식)를 얻을 수 있습니다.
IEnumerable<Customer> customers = DataAccess.GetCustomerById(15);
DocumentGenerator dg = new DocumentGenerator(customers);
DocumentGenerationResult result = dg.GenerateDocument("MyTemplate.docx", "MyReport.pdf");
이 link에 더 많은 정보와 예제를 찾을 수 있습니다 여기에 PDF 문서를 얻을 수있는 템플릿을 사용하여 데이터베이스에서 데이터를 병합에 필요한 하나 개의 도구 키트에 사용되는 코드입니다.
지금까지 편지 병합 문서를 생성하는 방법이 있습니다. 이제 두 번째 문제로이 문서를 우편으로 보냅니다.
전자 메일 서버가 MS Exchange를 기반으로한다고 가정합니다. 최신 버전의 MS Exchange Server는 Outlook을 설치하지 않고도 클라이언트에서 사용할 수있는 웹 서비스를 제공합니다.
시작하는 데 도움이되는 https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx과 같은 몇 가지 단계별 자습서가 있습니다. 메일 메시지를 보내는 모든 측면을 완벽하게 제어 할 응용 프로그램을 작성할 수 있습니다. 우리 회사를위한 간단한 메일 보내기 라이브러리를 작성했습니다. 그것의 내면을 파악하는 데는 시간이 걸렸지 만, 이제는 놓치지 마세요. 아무 문제없이 원활하게 작동합니다.
- 1. Word 편지 병합 SQL
- 2. Word 편지 병합 필드
- 3. 편지 병합 Word 2003 헤더 필드 C#
- 4. CRM 편지 병합 및 Word 매크로/FILLINs
- 5. MS Word 편지 병합 데이터 소스 찾기
- 6. SQLite 데이터베이스를 사용하는 MS Word 편지 병합
- 7. 편지 병합 조건부 서식
- 8. CRM 2011 편지 병합 템플릿
- 9. Word에서 편지 병합
- 10. C의 편지 추측 게임
- 11. NetOffice를 사용하여 프로그래밍 방식으로 Word 편지 병합 수행
- 12. Microsoft Word 편지 병합 데이터 원본 자동 위치
- 13. 쿼리 프롬프트없이 액세스에서 Word 2010 편지 병합 실행
- 14. Word 문서가 msaccess를 사용하여 편지 병합 후 최소화 됨
- 15. 2003 년에서 2010 년까지의 Word 편지 병합 문서 변환
- 16. Word 편지 병합 데이터 소스를 프로그래밍 방식으로 검사
- 17. 편지 병합 또는 VBA를 사용하여 Word 2007에서 책갈피 추가
- 18. 편지 병합 된 Word 문서에서 MergeField 값을 프로그래밍 방식으로 검색합니다.
- 19. 자바 스크립트를 통한 MS Word 개체 모델 : 편지 병합
- 20. Word 편지 병합 필드를 Python을 사용하는 MS Word에 작성
- 21. MS 단어 편지 병합 "&"
- 22. VBA - 액세스를 통한 편지 병합
- 23. MS CRM 편지 병합
- 24. rails 편지 병합 기능
- 25. Word/PDF - 병합 문서
- 26. Word 편지 병합도 RecordCount -1을 반환
- 27. C#을 사용하여 편지 병합 (Excel에서 Word로)
- 28. docx4j는 편지 병합 필드가있는 PDF를 생성합니다.
- 29. Aspose 편지 병합 이미지의 이미지
- 30. 편지 병합 스크립트 (입력 상자 포함)
올바른 방향으로 나를 가리켜 주셔서 감사합니다. 권장할만한 무료 openxml 툴킷이 있습니까? Nuget에서 발견 한 OpenXML SDK를 살펴 보겠습니다. DOCX에서 HTML로 변환 할 수있는 도구가 있고 XLSX에서 데이터를 가져 오는 것 같습니다. 둘 다 필요합니다. – mack
OpenXML SDK는 간단한 문서 조작이 필요한 경우에 유용합니다. 복잡한 템플릿으로 복잡한 문서 병합을 해결해야했습니다. 이를 달성하기에는 시간이 너무 제한되어 있으므로 제 3 자 라이브러리를 사용했습니다. –