Word 文書または Excel ブックに操作ウィンドウを追加する

Microsoft Office Word 文書や Microsoft Excel ブックに操作ウィンドウを追加するには、まず Windows フォーム ユーザー コントロールを作成します。 次に、プロジェクト内の ThisDocument.ActionsPane フィールド (Word) または ThisWorkbook.ActionsPane フィールド (Excel) の Controls プロパティに、ユーザー コントロールを追加します。

適用対象: このトピックの情報は、Excel および Word のドキュメント レベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Note

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。

ユーザー コントロールの作成

次の手順は、Word または Excel プロジェクトでユーザー コントロールを作成する方法を示したものです。 また、ユーザー コントロールにボタンを追加して、それがクリックされたときに、文書やブックにテキストが書き込まれるようにします。

ユーザー コントロールを作成するには

  1. Visual Studio で Word または Excel のドキュメント レベルのプロジェクトを開きます。

  2. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  3. [新しい項目の追加] ダイアログ ボックスで、[操作ウィンドウ コントロール] を選択し、名前を HelloControl と指定して、[追加] をクリックします。

    Note

    別の方法として、[ユーザー コントロール] の項目をプロジェクトに追加することもできます。 [操作ウィンドウ コントロール] の項目と [ユーザー コントロール] の項目によって生成されるクラスは、機能的には同等です。

  4. ツールボックス[Windows フォーム] タブから、Button コントロールをコントロール上にドラッグします。

    Note

    デザイナーにコントロールが表示されていない場合は、ソリューション エクスプローラー[HelloControl] をダブルクリックします。

  5. ボタンの Click イベント ハンドラーにコードを追加します。 次の例は、Microsoft Office Word 文書の場合のコードです。

    private void button1_Click(object sender, System.EventArgs e)
    {
        Globals.ThisDocument.Paragraphs[1].Range.Text = "Hello World!";
    }
    
  6. C# では、ボタン クリックのイベント ハンドラーを追加する必要があります。 このコードは、HelloControl コンストラクター内の、InitializeComponent の呼び出しの後に配置できます。

    イベント ハンドラーの作成方法について詳しくは、「方法: Office プロジェクトでイベント ハンドラーを作成する」をご覧ください。

    public HelloControl()
    {
        InitializeComponent();
        this.button1.Click += new EventHandler(this.button1_Click);
    }
    

操作ウィンドウにユーザー コントロールを追加する

操作ウィンドウを表示するには、ThisDocument.ActionsPane フィールド (Word) または ThisWorkbook.ActionsPane フィールド (Excel) の Controls プロパティに、ユーザー コントロールを追加します。

操作ウィンドウにユーザー コントロールを追加するには

  1. ThisDocument クラスまたは ThisWorkbook クラスに、クラス レベルの宣言として次のコードを追加します (このコードをメソッドに追加することはしないでください)。

    private HelloControl hello = new HelloControl();
    
  2. ThisDocument クラスの ThisDocument_Startup イベント ハンドラー、または ThisWorkbook クラスの ThisWorkbook_Startup イベント ハンドラーに、次のコードを追加します。

    this.ActionsPane.Controls.Add(hello);