다음을 통해 공유


방법: Word의 기본 제공 대화 상자 사용

Microsoft Office Word를 사용하여 작업하는 경우 사용자 입력을 위한 대화 상자를 표시해야 할 때가 있습니다. 대화 상자를 직접 만들 수도 있지만 Application 개체의 Dialogs 컬렉션에서 제공하는 Word의 기본 제공 대화 상자를 사용하는 것이 편리할 수도 있습니다. 이렇게 하면 열거형으로 표시되는 200가지 이상의 기본 제공 대화 상자에 액세스할 수 있습니다.

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

대화 상자 표시

대화 상자를 표시하려면 WdWordDialog 열거형 값 중 하나를 사용하여 표시할 대화 상자를 나타내는 Dialog 개체를 만듭니다. 그런 다음 Dialog 개체의 Show 메서드를 호출합니다.

다음 코드 예제에서는 파일 열기 대화 상자를 표시하는 방법을 보여 줍니다. 이 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 예제를 실행하십시오.

Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileOpen)
dlg.Show()
Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dlg.Show();

런타임에 바인딩을 통해 사용할 수 있는 대화 상자 멤버 액세스

Word 대화 상자의 일부 속성과 메서드는 런타임에 바인딩을 통해서만 사용할 수 있습니다. Option Strict가 설정된 Visual Basic 프로젝트나 .NET Framework 3.5를 대상으로 하는 Visual C# 프로젝트에서는 리플렉션을 사용하여 이러한 멤버에 액세스해야 합니다. 자세한 내용은 Office 솔루션에서 런타임에 바인딩을 참조하십시오.

다음 코드 예제에서는 Option Strict가 해제된 Visual Basic 프로젝트나 .NET Framework 4를 대상으로 하는 Visual C# 프로젝트에서 파일 열기 대화 상자의 Name 속성을 사용하는 방법을 보여 줍니다. 이 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 예제를 실행하십시오.

Private Sub TestDynamicDialog()
    Dim dialog As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
    dialog.Name = "Testing"
    dialog.Show()
    MessageBox.Show(dialog.Name)
End Sub
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

다음 코드 예제에서는 Option Strict가 설정된 Visual Basic 프로젝트나 .NET Framework 3.5를 대상으로 하는 Visual C# 프로젝트에서 파일 열기 대화 상자의 Name 속성에 리플렉션을 사용하여 액세스하는 방법을 보여 줍니다. 이 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 예제를 실행하십시오.

Dim dlg As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.SetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, New Object() {"Testing"}, _
    System.Globalization.CultureInfo.InvariantCulture)

' Display the dialog box.
dlg.Show()

' Show the Name property.
MessageBox.Show(dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.GetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, Nothing, _
    System.Globalization.CultureInfo.InvariantCulture))
Word.Dialog dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
System.Type dialogType = typeof(Word.Dialog);

// Set the Name property of the dialog box.
dialogType.InvokeMember("Name", 
    System.Reflection.BindingFlags.SetProperty | 
        System.Reflection.BindingFlags.Public | 
        System.Reflection.BindingFlags.Instance,
    null, dialog, new object[] { "Testing" },
    System.Globalization.CultureInfo.InvariantCulture);

// Display the dialog box.
dialog.Show(ref missing); 

// Show the Name property.
MessageBox.Show(dialogType.InvokeMember("Name",
    System.Reflection.BindingFlags.GetProperty |
        System.Reflection.BindingFlags.Public |
        System.Reflection.BindingFlags.Instance,
    null, dialog, null,
    System.Globalization.CultureInfo.InvariantCulture).ToString());

참고 항목

작업

방법: 숨김 모드에서 Word 대화 상자 사용

참조

Option Strict 문

리플렉션(C# 및 Visual Basic)

개념

Office 솔루션의 선택적 매개 변수

기타 리소스

Word 개체 모델 개요