次の方法で共有


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

更新 : 2007 年 11 月

対象

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

プロジェクトの種類

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

Microsoft Office のバージョン

  • Excel 2003

  • Excel 2007

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

ワークシートの列や行のサイズを変更すると、セルに含まれているホスト コントロールは、サイズが変更されたセルの高さまたは幅に合わせて、自動的にサイズが変更されます。Windows フォーム コントロールは、既定では、自動的にサイズ変更されません。

デザイン時にコントロールを追加する場合は、コントロールごとに配置オプションを設定する必要があります。

Windows フォーム コントロールをプログラムで追加し、範囲引数を指定した場合は、範囲内のセルのサイズが変更されると、コントロールは自動的にサイズ変更されます。詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。

デザイン時のコントロールのサイズ変更

デザイン時にセルに合わせてコントロールのサイズを変更するには

  1. ツールボックスからワークシートに Windows フォーム コントロールをドラッグします。

  2. コントロールを右クリックし、[コントロールの書式設定] をクリックします。

  3. [コントロールの書式設定] ダイアログ ボックスの [プロパティ] タブをクリックします。

  4. [オブジェクトの位置関係][セルに合わせて移動やサイズ変更をする] をクリックし、[OK] をクリックします。

    コントロールを含むセルのサイズを変更すると、セルに合わせてコントロールのサイズが変更されます。

実行時のコントロールのサイズ変更

実行時に Windows フォーム コントロールを追加し、コントロールの場所として Microsoft.Office.Interop.Excel.Range を渡した場合、範囲を含むワークシートのセルのサイズが変更されると、コントロールのサイズも自動的に変更されます。

実行時にセルに合わせてコントロールのサイズを変更するには

  • コントロールを範囲 A1 に追加します。

    Dim control1 As Microsoft.Office.Tools.Excel.Controls.Button = _
        Me.Controls.AddButton(Me.Range("A1"), "control1")
    
    Microsoft.Office.Tools.Excel.Controls.Button control1 =
        this.Controls.AddButton(this.Range["A1", missing], "control1");
    

    コントロールを含むセルのサイズを変更すると、セルに合わせてコントロールのサイズが変更されます。

コントロールの配置のリセット

Placement プロパティを次のいずれかの XlPlacement 値に設定することで、コントロールの配置とサイズ変更をリセットできます。

セルに合わせてコントロールのサイズが変更したり位置が移動したりしないように動作を変更するには

  • コントロールの配置プロパティを呼び出し、値を xlFreeFloating に設定します。

    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating
    
    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating;
    

参照

処理手順

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

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

概念

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

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

その他の技術情報

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