Office ドキュメントでの Windows フォーム コントロールの概要

更新 : 2008 年 7 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

ドキュメント レベルのプロジェクト

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

アプリケーション レベルのプロジェクト

  • Excel 2007

  • Word 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Windows フォーム コントロールは、データを入力または操作するときにユーザーが取り扱うオブジェクトです。Microsoft Office Excel と Microsoft Office Word のドキュメント レベル プロジェクトでは、デザイン時にプロジェクト内の文書またはブックに Windows フォーム コントロールを追加したり、実行時にこれらのコントロールをプログラムで追加したりできます。Visual Studio 2008 Service Pack 1 (SP1) より、Excel 2007 または Word 2007 のアプリケーション レベルのアドインで、実行時に、開いている文書またはワークシートにこれらのコントロールを追加できるようになりました。

詳細については、「方法 : Office ドキュメントに Windows フォーム コントロールを追加する」を参照してください。

Windows フォーム コントロールの使用

Windows フォーム コントロールは、ドキュメントと、操作ウィンドウ、カスタム作業ウィンドウ、Windows フォームを含むカスタマイズ可能なユーザー インターフェイス (UI) 要素に追加できます。一般に、Windows フォーム コントロールは、ドキュメント上にあってもこれら他の UI 要素上にあっても同じように動作しますが、いくつか相違点があります。詳細については、「Office ドキュメントでの Windows フォーム コントロールの制限事項」を参照してください。

Windows フォーム コントロールをドキュメントとその他の UI 要素のどちらに追加するのがよいかは、いくつかの要因に依存します。ソリューションの UI をデザインするとき、以下の表を参考に Windows フォーム コントロールの使用を検討してください。

  • ドキュメント上

    • 常時コントロールを表示する場合。

    • ユーザーがドキュメントで直接データを入力する場合。たとえば、編集画面がロックされたフォーム ベースのドキュメントにする場合。

    • コントロールをドキュメント内のデータと併せてインラインで表示する場合。たとえば、リスト オブジェクトの各行にボタンを追加し、そのボタンを各リスト項目と同じ行内に表示する場合。

  • 操作ウィンドウまたはカスタム作業ウィンドウ上

    • ユーザーに文脈情報を提供する場合。

    • ドキュメントに、クエリ コントロールやデータではなく結果だけを表示する場合。

    • ドキュメントを印刷するときコントロールが印刷されないようにする場合。

    • ドキュメントを表示するときコントロールが妨げにならないようにする場合。

  • Windows フォーム上

    • UI のサイズを制御する場合。

    • ユーザーがコントロールを非表示化または削除できないようにする場合。

    • ユーザーの入力を取得し、その入力が受け取られるまでユーザーはドキュメント上で操作を行うことができないようにする場合。

プログラムによる Windows フォーム コントロールの追加

Word 文書および Excel ワークシートに、実行時に Windows フォーム コントロールを追加できます。Visual Studio Tools for Office には、最も一般的な Windows フォーム コントロールを追加するためのヘルパー メソッドが用意されています。これらのヘルパー メソッドを使用すると、Office ドキュメントにコントロールを簡単に追加でき、Windows フォーム コントロールの機能とそのコントロールの Office 関連機能の組み合わせにアクセスできます。

詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。

ドキュメント レベル プロジェクトでの Windows フォーム コントロールの使用

ドキュメントで Windows フォーム コントロールを使用すると、ドキュメント レベルのプロジェクトに固有の機能として、Visual Studio デザイナを使用してドキュメントの UI をデザインできます。

カスタム ユーザー コントロールの作成

ユーザー コントロールをプロジェクトに追加し、それをツールボックスに追加できます。ツールボックスに追加したユーザー コントロールは、Windows フォーム コントロールをドキュメントに追加するときと同じように、ドキュメントに直接ドラッグできます。ユーザー コントロールを作成する場合の留意点があります。

  • sealed ユーザー コントロールは作成しないでください。Visual Studio Tools for Office によって、ユーザー コントロールから派生したラッパー クラスが生成され、ユーザー コントロールの拡張や、ドキュメント上での使用のサポートが行われます。Visual Studio Tools for Office では、sealed クラスからの派生はできません。

  • ユーザー コントロールを使用できるようにするには、ComVisibleAttribute 属性を true に設定する必要があります。Visual Studio Tools for Office プロジェクト内で作成されたユーザー コントロールでは、この属性は既定で true に設定されていますが、プロジェクトの外部にあるユーザー コントロールではこの属性が true に設定されていない場合があります。

  • ユーザー コントロールをドキュメントに追加した後は、プロジェクトから UserControl クラスを名前変更したり削除したりしないでください。ユーザー コントロールの名前を変更する必要がある場合は、まず、そのユーザー コントロールをドキュメントから削除し、名前を変更した後で再度追加します。

デザイン時のコントロールの配置

デザイン時に Word および Excel のドキュメントに複数のコントロールを追加するとき、Visual Studio の [Microsoft Office Word] ツール バーと [Microsoft Office Excel] ツール バーを使用して、選択しているすべてのコントロールの配置をすばやく揃えることができます。これらのツール バーは、デザイナで文書またはワークシートが開いているときにのみ使用できます。

デザイナで複数のコントロールを選択する場合、これらのツール バー上の以下のボタンを使用してコントロールを配置できます。

  • 左揃え

  • 上下中央整列

  • 右揃え

  • 上揃え

  • 左右中央整列

  • 下揃え

  • 左右の間隔を均等にする

  • 上下の間隔を均等にする

0x6hstz2.alert_note(ja-jp,VS.90).gifメモ :

Word プロジェクトでは、選択したコントロールがテキストに揃っていない場合にだけこれらのボタンが有効になります。既定では、デザイン時にドキュメントに追加したコントロールはテキストに揃います。詳細については、「Word 文書上での Windows フォーム コントロールの使用」を参照してください。

読み込み中に Excel ブックに古いデータが表示されるのを回避する

デザイン時に Windows フォーム コントロールを文書またはワークシートに追加すると、ユーザーがドキュメントを閉じてもコントロールはドキュメント内に残ります。デザイン時に追加したコントロールをスタティック コントロールといいます。

スタティック コントロールを含む Excel ブックを開くと、カスタマイズ コードが実行されて実際のコントロールが読み込まれるまで、コントロールのビットマップが ActiveX コントロールに表示されます。Excel では、ブックを保存するたびにこのビットマップが作成され、ブックに保存されます。ビットマップでは、最後にブックを保存したときの状態 (コントロールで表示されていたデータを含む) でコントロールが表示されます。Windows フォーム コントロールおよびビットマップを含む ActiveX コントロールの詳細については、「Office ドキュメントでの Windows フォーム コントロールの制限事項」を参照してください。

ユーザーがブックをデザイン モードで開く場合など、特定の状況下では、コードが読み込まれず、ビットマップだけが表示されます。また、ユーザーが、Visual Studio Tools for Office ランタイムをインストールしていないコンピュータ上でブックを開くと、カスタマイズを実行してコントロールを読み込むことができないため、コントロールのビットマップだけが表示されます。個人情報が誤って公開されないように、ブックを保存して別のユーザーに送信する前に、必ずコントロールおよびブックから個人情報を削除する必要があります。

デザイン時のコンポーネントの追加

コントロールやコンポーネントの中には、ドキュメント上には表示されず、代わりにコンポーネント トレイに表示されるものがあります。Visual Studio Tools for Office では、ドキュメント ウィンドウごとにコンポーネント トレイが用意されています。コンポーネント トレイは、ドキュメント上にコンポーネントがあるときのみ、画面に表示されます。

参照

処理手順

方法 : Office ドキュメントに Windows フォーム コントロールを追加する

方法 : ワークシートのセル内のコントロールをサイズ変更する

方法 : 印刷時にワークシートのコントロールを非表示にする

チュートリアル : CheckBox コントロールを使用したワークシート書式の変更

チュートリアル : CheckBox コントロールを使用したドキュメント書式の変更

チュートリアル : ボタンを使用して文書内のテキスト ボックスにテキストを表示する方法

チュートリアル : ボタンを使用してワークシート内テキスト ボックスにテキストを表示する方法

概念

Word 文書上での Windows フォーム コントロールの使用

Excel ワークシート上での Windows フォーム コントロールの使用

実行時の Office ドキュメントへのコントロールの追加

ホスト項目とホスト コントロールの概要

操作ウィンドウの概要

Office ドキュメントでの Windows フォーム コントロールの制限事項

参照

ControlCollection.Remove

ControlCollection.Remove

その他の技術情報

Office ドキュメントのコントロール

Windows フォーム コントロール

履歴の変更

日付

履歴

理由

2008 年 7 月

アプリケーション レベルのアドインを使用したドキュメントへの Windows フォーム コントロールの追加に関する情報を追加

SP1 機能変更