C# で Excel の ActiveX コントロールを使用する

この記事では、C# を使用して Excel で ActiveX コントロールを使用する 方法について説明します。開発用に IDE を設定するための詳細、プロセスを定義する手順の一覧、C# を使用して Excel Active X コントロールを追加する ためのサンプル コードが含まれています。ActiveX コントロールを追加し、それにアクセスしてコントロール値を更新または読み取る方法を学習します。

C# を使用して Excel に ActiveX コントロールを追加する手順

  1. ActiveX コントロールを操作するために IDE を Aspose.Cells for .NET を使用するように設定します
  2. ActiveXコントロールを追加するためのWorkbookクラスを使用してExcelファイルを作成します
  3. シートから図形コレクションにアクセスし、AddActiveXControl() メソッドを呼び出してコントロールを追加します。
  4. ActiveXコントロールにアクセスし、リンクされたセルを送信する
  5. コントロールの特定のプロパティを設定するには、ActiveXコントロールを型キャストして値を設定します。
  6. コントロールを更新またはアクセスするには、コントロールの種類を確認し、必要な値を更新します。

これらの手順は、C# を使用して Excel で ActiveX コントロールを使用する方法 をまとめたものです。プロセスを開始するには、ワークブックのシートから図形コレクションにアクセスし、ShapeCollection クラスの AddActiveXControl() メソッドを呼び出します。ActiveX コントロールのコントロール タイプ、ターゲット セル、およびサイズを指定し、コントロールをセルにリンクして値を操作します。

C# を使用して ActiveX コマンド ボタンを追加するコード

using Aspose.Cells;
using Aspose.Cells.Drawing;
using Aspose.Cells.Drawing.ActiveXControls;
class Program
{
static void Main(string[] args)
{
new License().SetLicense("License.lic");
// Create workbook object
Workbook wb = new Workbook();
// Access first worksheet
Worksheet sheet = wb.Worksheets[0];
// Add Command Button ActiveX Control inside the Shape Collection
Shape s = sheet.Shapes.AddActiveXControl(ControlType.CommandButton, 4, 0, 4, 0, 100, 30);
// Access the ActiveX control object and set its linked cell property
ActiveXControl c = s.ActiveXControl;
c.LinkedCell = "A1";
// Add Toggle Button ActiveX Control inside the Shape Collection
Shape s1 = sheet.Shapes.AddActiveXControl(ControlType.ComboBox, 16, 0, 4, 0, 100, 30);
// Access the ActiveX control object and set its linked cell property
ActiveXControl c1 = s1.ActiveXControl;
c1.LinkedCell = "A4";
ComboBoxActiveXControl comboControl = (ComboBoxActiveXControl)c1;
comboControl.Value = "A sample value for the ComboBox";
// Save the workbook
wb.Save("Combo box with original value.xlsx");
foreach (var shape in sheet.Shapes)
{
// Access specific ActiveX Control and set its value
if (shape.ActiveXControl != null)
{
// Access Shape ActiveX Control
ActiveXControl control = shape.ActiveXControl;
// Check for the target type
if (control.Type == ControlType.ComboBox)
{
// Type cast ActiveXControl into ComboBoxActiveXControl and change its value
ComboBoxActiveXControl comboBoxActiveX = (ComboBoxActiveXControl)control;
comboBoxActiveX.Value = "A new value for the ComboBox";
}
}
}
// Save the workbook in xlsx format
wb.Save("AddActiveXControls_out.xlsx", SaveFormat.Xlsx);
}
}

このコードは、Excel シートに C# を使用して コンボ ボックス ActiveX コントロール を追加する方法を示しています。AddActiveXControl() メソッドは、新しく追加された図形への参照を返します。この参照を使用して、リンクされたセルや、フォント、色、影、テキスト配置などのその他のプロパティを設定できます。同様に、図形を特定のコントロールに型キャストすると、コントロールをカスタマイズするためのさまざまなプロパティが得られます。

この記事では、Excel ファイルに ActiveX コントロールを追加してアクセスする方法について説明しました。Excel ファイルに画像を追加する方法については、C# を使用して Excel セルに画像を追加する方法 の記事を参照してください。

 日本語