次の方法で共有


Word のダイアログ ボックスを使用する

Microsoft Office 2000/Visual Basic プログラマーズ ガイド   

UserForms を使用して独自のダイアログ ボックスを作成することが可能ですが、その作業を開始する前に、Word に組み込まれている 200 種類以上のダイアログ ボックスの中から機能を修正して使用できるものがあるかどうかを確認することをお勧めします。

VBA では、Dialogs コレクションを通じて、Word に組み込まれたすべてのダイアログ ボックスにアクセスできます。Dialogs コレクションはグローバル オブジェクトであるため、Application プロパティを指定せずに参照することが可能です。たとえば、[イミディエイト] ウィンドウで次のコードを実行して、Dialogs コレクションに含まれるダイアログ ボックスの数を返すことができます。

  ? Dialogs.Count

特定のダイアログ ボックスを使用するには、As Dialog として宣言されたオブジェクト変数を作成し、任意の wdWordDialog 定数を使用して、参照するダイアログ ボックスを指定します。次のコードでは、[文章校正] ダイアログ ボックスへの参照を作成します。

  Dim dlgSpell As Dialog
Set dlgSpell = Dialogs(wdDialogToolsSpellingandGrammar)

この方法で Dialog オブジェクト変数のインスタンスを作成すると、さまざまなダイアログ ボックスの設定を簡単に確認または指定できます。組み込みダイアログ ボックスに対して使用可能な設定を確認するには、Microsoft Word Visual Basic リファレンス ヘルプの [キーワード] タブで "Word の組み込みダイアログ ボックス" を検索し、「組み込みのダイアログ ボックスの引数一覧」というトピックを参照してください。このヘルプ トピックに、各ダイアログ ボックスで使用可能な設定が一覧表示されています。これらの設定のいずれかを VBA で参照するときは、ダイアログ ボックスのプロパティとして参照することができます。たとえば、ShowAll プロパティを使用して、[オプション] ダイアログ ボックスの [表示] タブにある [すべて] チェック ボックスの設定を参照することができます。

  MsgBox "[表示] タブにある [すべて] チェック ボックスは現在次のように設定されています。" _
   & CBool(Dialogs(wdDialogtoolsOptionsView).ShowAll)

ダイアログ ボックスのプロパティは、通常ユーザー インターフェイスでチェック ボックス、コンボ ボックス、テキスト ボックスなどのコントロールを使用して設定されます。チェック ボックス コントロールは、オンになっている場合は値 1 を含み、オフの場合は値 0 を含みます。コンボ ボックス コントロールは、選択されたアイテムのインデックス値を含みます。インデックス値は、コントロールで最初のアイテムに対して 0 から始まります。テキスト ボックス コントロールは、その中に入力されたテキストを示す文字列型 (String) の値を含みます。

また、ダイアログ ボックスの表示方法、およびダイアログ ボックスの設定に対する変更がいつ有効になるかを制御することも可能です。通常は、Word のユーザー インターフェイスでダイアログ ボックスを表示して設定を変更した場合、ダイアログ ボックスの [OK] ボタンをクリックすると、変更は直ちに有効になります。また、ダイアログ ボックスによっては、ボタンをクリックせずに設定の変更が直ちに有効になるものがあります。VBA を使用してダイアログ ボックスを表示する場合、Dialog オブジェクトの Show メソッドまたは Display メソッドでダイアログ ボックスの動作を制御できます。Show メソッドを使用すると、Word で表示された場合と同様にダイアログ ボックスは動作します。また、Display メソッドはダイアログ ボックスを表示するだけなので、ユーザーの選択に対するアクションを設定するには VBA コードを追加する必要があります。いずれのメソッドでも、ユーザーがダイアログ ボックスで [OK]、[キャンセル]、[閉じる]、またはそれ以外のボタンをクリックしたことを示す値を返します。これらのメソッドを使用して、Word の組み込みダイアログ ボックスを表示する方法については、Microsoft Word Visual Basic リファレンス ヘルプの [キーワード] タブで "Word の組み込みダイアログ ボックス" を検索し、「Word の組み込みのダイアログ ボックスを表示する」というトピックを参照してください。