次の方法で共有


方法: プログラムによって Word の組み込みダイアログ ボックスを使用する

Microsoft Office Word の使用時に、ユーザー入力用のダイアログ ボックスを表示する必要があることがあります。独自のダイアログ ボックスを作成することもできますが、Word の組み込みダイアログ ボックスを使用することもできます。Word の組み込みダイアログ ボックスは、Application オブジェクトの Dialogs コレクションで公開されています。この方法を利用すると、列挙体で表される 200 以上の組み込みダイアログ ボックスにアクセスできます。

対象: このトピックの情報は、Word 2013 と 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();

ahzbkf8e.collapse_all(ja-jp,VS.110).gif遅延バインディングを介して使用できるダイアログ ボックス メンバーへのアクセス

Word のダイアログ ボックスの一部のプロパティとメソッドは、遅延バインディングを介してのみ使用できます。Visual Basic では Option Strict がどこにあるか、リフレクションをこれらのメンバーにアクセスする必要があります。詳細については、「Office ソリューションの遅延バインディング」を参照してください。

次のコード例では、がオフ Option Strict がいるか、または .NET Framework 4.NET Framework 4.5を対象とする Visual C# での Visual Basic プロジェクトで [ファイルを開く] のダイアログ ボックスの 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 プロジェクトの [ファイルを開く] のダイアログ ボックスの 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))

参照

関連項目

Option Strict ステートメント

リフレクション (C# および Visual Basic)

概念

方法: プログラムによって Word のダイアログ ボックスを非表示モードで使用する

Office ソリューションの省略可能なパラメーター

その他の技術情報

Word オブジェクト モデルの概要