Word 서식 파일의 필드를 채우기 위해 데이터 소스로 Excel 파일을 사용하여 편지 병합을 수행하는 방법을 알고있는 사람이 있는지 궁금합니다. 내가 할 수 있으면 Word 용 interop을 사용하고 싶습니다 ... 그러나 이것을위한 코드를 찾는 데 어려움을 겪고 있습니다. 누구에게도이 구문이 있습니까? 미리 감사드립니다.C#을 사용하여 편지 병합 (Excel에서 Word로)
답변
MS Word에서 특정 작업을 자동화하는 방법을 배우는 매우 유용한 방법은 실제로 '매크로 기록'을 활성화하여 수동으로 작업을 수행하는 것입니다.
일단 VBA 매크로를 사용하면 interop을 사용하는 VB.NET 또는 C#으로 쉽게 변환 할 수 있습니다. 먼저 Word에서 VBA를 수동으로 조정하여 interop 레이어를 사용하여 .NET 언어로 변환하기 전에 먼저 테스트 할 수 있습니다.
나는 편지 병합에 대해 잘 모르겠지만,이게 내가 매크로 기록하는 동안 VBA의 일부가 생성됩니다
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
"c:\Arrays.xlsx", ConfirmConversions:=False, _
ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=c:\Arrays.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Loc" _
, SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
나는 전체 코드 여기에 포함되지 않은,하지만 희망이 당신에게 몇 가지를 제공합니다 아이디어.
Word (적어도 내가 본 것은 2007 버전입니다.)이 상자에서 바로 수행 할 수 있습니다. Excel 파일을 데이터 소스로 선택하기 만하면됩니다. 코드에서 무엇을하려고합니까?
Excel 스프레드 시트를 가져 와서 Word 서식 파일을 사용하여 편지 병합을 수행하려고합니다. – yeahumok
나는 타사 제어 this을 사용합니다. xls 파일을 데이터 테이블로 읽어 와서 컨트롤에 병합하도록 지시 할 수 있습니다.
Word의 편지 병합 기능은 Excel 파일 읽기를 기본적으로 지원하므로 타사 컨트롤의 추가 단계가 필요한 이유는 무엇입니까? – CoderDennis
자동 프로세스로 실행되며 클라이언트 템플리트와 클라이언트 데이터를 일치시킵니다. 우리는 하루에 몇백 개를합니다. – TGnat
답변이 많이 변경되지는 않지만 사용중인 Office 버전은 무엇입니까? – CoderDennis