次の方法で共有


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

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

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

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

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

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

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

  • ドキュメント上

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

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

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

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

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

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

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

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

  • Windows フォーム上

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

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

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

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

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

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

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

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

0x6hstz2.collapse_all(ja-jp,VS.110).gifカスタム ユーザー コントロールの作成

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

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

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

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

0x6hstz2.collapse_all(ja-jp,VS.110).gifデザイン時のコントロールの配置

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

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

  • 左揃え

  • 上下中央整列

  • 右揃え

  • 上揃え

  • 左右中央整列

  • 下揃え

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

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

[!メモ]

Word プロジェクトでは、選択したコントロールがテキストに揃っていない場合にだけこれらのボタンが有効になります。既定では、デザイン時にドキュメントに追加したコントロールはテキストに揃います。

0x6hstz2.collapse_all(ja-jp,VS.110).gif読み込み中に Excel ブックに古いデータが表示されるのを回避する

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

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

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

0x6hstz2.collapse_all(ja-jp,VS.110).gifExcelワークシートのセル サイズの一致のコントロールのサイズ

親セルのサイズが変更されたときにコントロールのサイズが自動的に変更されるように設定できます。詳細については、「方法 : ワークシートのセル内のコントロールをサイズ変更する」を参照してください。

0x6hstz2.collapse_all(ja-jp,VS.110).gifすべてのワークシートで共有するコンポーネントの追加

DataSet など、すべてのワークシートで共有するコンポーネントをワークシートではなくブックのデザイナーに追加できます。追加したコンポーネントはコンポーネント トレイに表示されます。

0x6hstz2.collapse_all(ja-jp,VS.110).gifExcelワークシートのコントロールを埋め込むための数式

Excel 内でコントロールを選択すると、数式バーに "=EMBED("WinForms.Control.Host","")" と表示されます。このテキストは必要なので、削除しないでください。

0x6hstz2.collapse_all(ja-jp,VS.110).gifWord文書のコントロールのレイアウト スタイル

Visual Studio デザイナーを使用してドキュメント レベルのプロジェクトの Word 文書にコントロールを追加すると、コントロールはテキスト行内に挿入されます。コントロールのレイアウト スタイルを変更するには、コントロールを右クリックし、[コントロールの書式設定] をクリックします。[オブジェクトの書式設定] ダイアログ ボックスの [レイアウト] ページで折り返しのスタイルを選択します。

実行時に Word 文書にコントロールを追加する場合、Microsoft.Office.Tools.Word.ControlCollection クラスの別の Add<control class> メソッド オーバーロードを使用して新しいコントロールのレイアウト スタイルを指定できます。

  • コントロールをテキスト行内に追加するには、コントロールの位置を指定する Range を受け入れるオーバーロードを使用します。

  • コントロールを固定されていない図形として追加するには、コントロールの左上の座標を受け入れるオーバーロードを使用します。

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

Visual Studio デザイナーで Word テンプレートを開くと、テンプレートが標準表示で開かれるため、インラインではないコントロールがテンプレートに表示されない場合があります。コントロールを表示するには、[印刷レイアウト] をクリックして表示を変更します。

0x6hstz2.collapse_all(ja-jp,VS.110).gifメイン ドキュメントの本体の外部のコントロール

Windows フォーム コントロールは、ヘッダーやフッターの内部、またはサブドキュメントの内部ではサポートされていません。

0x6hstz2.collapse_all(ja-jp,VS.110).gifデザイン時のコンポーネントの追加

特定のコントロールまたはコンポーネントは、ドキュメントには表示されず、コンポーネント トレイに表示されます。Visual Studio ではコンポーネント トレイがドキュメント ウィンドウごとに提供されます。コンポーネント トレイは、ドキュメント上にコンポーネントがあるときのみ、画面に表示されます。

参照

処理手順

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

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

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

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

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

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

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

チュートリアル : オプション ボタンを使用してドキュメントのグラフを更新する方法

チュートリアル : オプション ボタンを使用してワークシートのグラフを更新する方法

関連項目

ControlCollection.Remove

ControlCollection.Remove

概念

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

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

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

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

その他の技術情報

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

操作ウィンドウの概要

Windows フォーム コントロール