vba로 메일머지 메크로 실행 관련 문의

엑셀 vba를 이용해서 한글메일머지를 자동으로 실행시켜 사용하고있는데
다른것은 자동으로 실행되는데 [시트선택]와 [주소레코드선택]은 선택창이 나오게 됩니다.
시트선택과 주소레코드 선택도 자동으로 할 수 있는 방법이 있을까요?

아래는 제가 사용하는 vba코드 일부 입니다.

Set objHWP = CreateObject(“HWPFrame.HwpObject”)
보안 = objHWP.RegisterModule(“FilePathCheckDLL”, “AutomationModule”)

원상복구통지주소 = Sheets("설정").Range("g5").value
strFilePath = 원상복구통지주소
rlt = objHWP.Open(strFilePath, "", "")



If Dir(저장주소) = "" Then
    Dim HAction As Object
    Dim HParameterSet As Object
    Dim 지 As Variant

    Set HAction = objHWP.HAction
    Set HParameterSet = objHWP.HParameterSet

    지 = HAction.GetDefault("MailMergeGenerate", HParameterSet.HMailMergeGenerate.HSet)

    With HParameterSet.HMailMergeGenerate
        .Input = 2
        .Output = 2
        .fileName = 저장주소
        .PrintSet.Collate = 1
        .PrintSet.UserOrder = 0
        .PrintSet.PrintToFile = 0
        .PrintSet.UsingPagenum = 1
        .PrintSet.ReverseOrder = 0
        .PrintSet.Pause = 0
        .PrintSet.PrintImage = 1
        .PrintSet.PrintDrawObj = 1
        .PrintSet.PrintFormObj = 1
        .PrintSet.PrintMarkPen = 0
        .PrintSet.PrintMemo = 0
        .PrintSet.PrintMemoContents = 0
        .PrintSet.PrintRevision = 1
        .PrintSet.PrintBarcode = 1
        .PrintSet.PrintPronounce = 0
        .Subject = ""
        .NxlPath = 메일머지엑셀주소
        .Field = ""
    End With

    지 = HAction.Execute("MailMergeGenerate", HParameterSet.HMailMergeGenerate.HSet)

    원상복구통지주소 = Sheets("설정").Range("g5").value
    objHWP.Save (원상복구통지주소)
    objHWP.Quit
1개의 좋아요

안녕하세요.

메일머지는 실행 과정에서 시트를 선택하는 대화상자가 있어서 완전 자동화는 어렵습니다.
다른 방법으로 가이드를 드리면,
누름틀 개체를 통해 직접 데이터를 넣고 출력하는 동작을 반복시키는 건데요.

  • 누름틀 ≒ 메일 머지 필드

1. 누름틀이 삽입된 문서를 열고 (Open),
2. 엑셀 파일의 데이터를 내가 설정한 필드 이름의 누름틀을 찾아서 입력 (PutFieldText),
3. 인쇄 (Print Action)
4. 1 - 3 엑셀 데이터 만큼 반복

감사합니다.

1개의 좋아요