다음을 통해 공유


방법: 프로그래밍 방식으로 숨김 모드에서 Word 대화 상자 사용

Microsoft Office Word에서 기본 제공 대화 상자를 사용자에게 표시하지 않고 호출하여 메서드 호출 한 번으로 복잡한 작업을 수행할 수 있습니다.Dialog 개체의 Display 메서드를 호출하지 않고 Execute 메서드를 사용하여 이 작업을 수행할 수 있습니다.

적용 대상: 이 항목의 정보는 Word 2013 및 Word 2010의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

예제

다음 코드 예제에서는 숨김 모드에서 페이지 설정 대화 상자를 사용하여 사용자 입력 없이 여러 페이지 설정 속성을 설정하는 방법을 보여 줍니다.이 예제에서는 Dialog 개체를 사용하여 사용자 지정 페이지 크기를 구성합니다.위쪽 여백, 아래쪽 여백 등의 페이지 설정에 대한 특정 설정은 Dialog 개체의 런타임에 바인딩되는 속성으로 사용할 수 있습니다.이러한 속성은 Word에서 런타임에 동적으로 만들어집니다.

다음 예제에서는 Option Strict가 해제된 Visual Basic 프로젝트와 .NET Framework 4를 대상으로 하는 Visual C# 프로젝트에서 이 작업을 수행하는 방법을 보여 줍니다.이러한 프로젝트에서는 Visual Basic 및 Visual C# 컴파일러에서 런타임에 바인딩 기능을 사용할 수 있습니다.이 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 예제를 실행하십시오.

Dim dialog As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePageSetup)

' Set the properties of the dialog box.
' ControlChars.Quote() is used to represent the symbol for inches.
With dialog
    .PageWidth = 3.3 & ControlChars.Quote
    .PageHeight = 6 & ControlChars.Quote
    .TopMargin = 0.71 & ControlChars.Quote
    .BottomMargin = 0.81 & ControlChars.Quote
    .LeftMargin = 0.66 & ControlChars.Quote
    .RightMargin = 0.66 & ControlChars.Quote
    .HeaderDistance = 0.28 & ControlChars.Quote
    .Orientation = Word.WdOrientation.wdOrientPortrait
    .DifferentFirstPage = False
    .FirstPage = 0
    .OtherPages = 0

    ' Apply these settings only to the current selection with this line of code:
    .ApplyPropsTo = 3

    ' Apply the settings.
    .Execute()
End With
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFilePageSetup];
dialog.PageWidth = "3.3\"";
dialog.PageHeight = "6\"";
dialog.TopMargin = "0.71\"";
dialog.BottomMargin = "0.81\"";
dialog.LeftMargin = "0.66\"";
dialog.RightMargin = "0.66\"";
dialog.HeaderDistance = "0.28\"";
dialog.Orientation = "0";
dialog.DifferentFirstPage = "0";
dialog.FirstPage = "0";
dialog.OtherPages = "0";

// Apply these settings only to the current selection with this line of code:
dialog.ApplyPropsTo = "3";

// Apply the settings.
dialog.Execute(); 

다음 예제에서는 Visual Basic 프로젝트에서이 작업을 수행 하는 방법을 보여 줍니다. 여기서 Option Strict 있습니다.이러한 프로젝트에서는 리플렉션을 사용하여 런타임에 바인딩되는 속성에 액세스해야 합니다.이 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 예제를 실행하십시오.

Friend Sub PageSetupDialogHidden()
    Dim dialog As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePageSetup)

    ' Set the properties of the dialog box.
    ' ControlChars.Quote() is used to represent the symbol for inches.
    InvokeHelper(dialog, "PageWidth", "3.3" & ControlChars.Quote)
    InvokeHelper(dialog, "PageHeight", "6" & ControlChars.Quote)
    InvokeHelper(dialog, "TopMargin", "0.71" & ControlChars.Quote)
    InvokeHelper(dialog, "BottomMargin", "0.81" & ControlChars.Quote)
    InvokeHelper(dialog, "LeftMargin", "0.66" & ControlChars.Quote)
    InvokeHelper(dialog, "RightMargin", "0.66" & ControlChars.Quote)
    InvokeHelper(dialog, "HeaderDistance", "0.28" & ControlChars.Quote)
    InvokeHelper(dialog, "Orientation", "0")
    InvokeHelper(dialog, "DifferentFirstPage", "0")
    InvokeHelper(dialog, "FirstPage", "0")
    InvokeHelper(dialog, "OtherPages", "0")

    ' Apply these settings only to the current selection with this line of code:
    InvokeHelper(dialog, "ApplyPropsTo", "3")

    ' Apply the settings.
    dialog.Execute()
End Sub

Private Shared Sub InvokeHelper(ByVal dialog As Word.Dialog, ByVal member As String, ByVal value As String)
    Dim dialogType As System.Type = GetType(Word.Dialog)

    ' Set the appropriate property of the dialog box.
    dialogType.InvokeMember(member,
        System.Reflection.BindingFlags.SetProperty Or
            System.Reflection.BindingFlags.Public Or
            System.Reflection.BindingFlags.Instance,
        Nothing, dialog, New Object() {value},
        System.Globalization.CultureInfo.InvariantCulture)
End Sub

참고 항목

참조

리플렉션(C# 및 Visual Basic)

개념

방법: 프로그래밍 방식으로 Word의 기본 제공 대화 상자 사용

Office 솔루션에서 런타임에 바인딩

기타 리소스

Word 개체 모델 개요