2009-05-19 4 views
1

Word 서식 파일의 필드를 채우기 위해 데이터 소스로 Excel 파일을 사용하여 편지 병합을 수행하는 방법을 알고있는 사람이 있는지 궁금합니다. 내가 할 수 있으면 Word 용 interop을 사용하고 싶습니다 ... 그러나 이것을위한 코드를 찾는 데 어려움을 겪고 있습니다. 누구에게도이 구문이 있습니까? 미리 감사드립니다.C#을 사용하여 편지 병합 (Excel에서 Word로)

+0

답변이 많이 변경되지는 않지만 사용중인 Office 버전은 무엇입니까? – CoderDennis

답변

3

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 

나는 전체 코드 여기에 포함되지 않은,하지만 희망이 당신에게 몇 가지를 제공합니다 아이디어.

0

Word (적어도 내가 본 것은 2007 버전입니다.)이 상자에서 바로 수행 할 수 있습니다. Excel 파일을 데이터 소스로 선택하기 만하면됩니다. 코드에서 무엇을하려고합니까?

+0

Excel 스프레드 시트를 가져 와서 Word 서식 파일을 사용하여 편지 병합을 수행하려고합니다. – yeahumok

0

나는 타사 제어 this을 사용합니다. xls 파일을 데이터 테이블로 읽어 와서 컨트롤에 병합하도록 지시 할 수 있습니다.

+0

Word의 편지 병합 기능은 Excel 파일 읽기를 기본적으로 지원하므로 타사 컨트롤의 추가 단계가 필요한 이유는 무엇입니까? – CoderDennis

+0

자동 프로세스로 실행되며 클라이언트 템플리트와 클라이언트 데이터를 일치시킵니다. 우리는 하루에 몇백 개를합니다. – TGnat