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

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 Microsoft Office의 지정된 Visual Studio Tools for Office 프로젝트 및 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

  • 응용 프로그램 수준 프로젝트

Microsoft Office 버전

  • Word 2003

  • Word 2007

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

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

기본 제공 대화 상자를 사용하려면

  1. WdWordDialog 열거형 값 중 하나를 사용하여 표시할 Word 대화 상자를 나타내는 Dialog 개체를 만듭니다. 다음 코드 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 코드 예제를 실행하십시오.

    Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileNew)
    
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileNew];
    
  2. Dialog 변수를 만든 후에는 이 변수의 메서드를 호출할 수 있습니다.

    dlg.Show()
    
    object timeOut = 0;
    dlg.Show(ref timeOut);
    

대화 상자 멤버에 액세스하려면

  1. 대화 상자 형식을 가져오고 Name 속성을 Testing으로 설정합니다. 다음 코드 예제를 사용하려면 프로젝트의 ThisDocument 또는 ThisAddIn 클래스에서 이 코드 예제를 실행하십시오.

    참고:

    기본으로 제공되는 Word 대화 상자와의 상호 작용은 런타임에 바인딩을 통해 이루어지므로 Option Strict를 On으로 설정한 상태이거나 C#을 사용하는 경우 대화 상자의 멤버에 직접 액세스할 수 없습니다. 대화 상자 멤버에 액세스하려면 Reflection 라이브러리를 사용해야 합니다.

    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)
    
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
    System.Type dlgType = typeof(Word.Dialog);
    
    // Set the Name property of the dialog box.
    dlgType.InvokeMember("Name", 
        System.Reflection.BindingFlags.SetProperty | 
            System.Reflection.BindingFlags.Public | 
            System.Reflection.BindingFlags.Instance,
        null, dlg, new object[] {"Testing"},
        System.Globalization.CultureInfo.InvariantCulture);
    
  2. 대화 상자를 표시한 다음 메시지 상자에 Name 속성을 표시합니다.

    ' 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))
    
    // Display the dialog box.
    dlg.Show(ref missing); 
    
    // Show the Name property.
    MessageBox.Show(dlgType.InvokeMember("Name",
        System.Reflection.BindingFlags.GetProperty |
            System.Reflection.BindingFlags.Public |
            System.Reflection.BindingFlags.Instance,
        null, dlg, null,
        System.Globalization.CultureInfo.InvariantCulture).ToString());
    

참고 항목

작업

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

개념

Word 개체 모델 개요

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