Använda ActiveX-kontroller i Excel med C#

Den här artikeln vägleder hur du använder ActiveX-kontroller i Excel med C#. Den har detaljerna för att ställa in IDE för utveckling, en lista med steg som definierar processen och en exempelkod för att lägga till Excel Active X-kontroll med C#. Du kommer att lära dig att lägga till ActiveX-kontroll och sedan komma åt den för att uppdatera eller läsa kontrollvärdet.

Steg för att lägga till ActiveX-kontroller i Excel med C#

  1. Ställ in IDE att använda Aspose.Cells for .NET för att arbeta med ActiveX-kontroller
  2. Skapa en Excel-fil med klassen Workbook för att lägga till ActiveX-kontroll
  3. Öppna formsamlingen från ett ark och anrop AddActiveXControl()-metoden för att lägga till kontroller
  4. Gå till ActiveX-kontrollen och skicka dess länkade cell
  5. För att ställa in en specifik egenskap för en kontroll, typcast ActiveX-kontrollen och ställ in värdet
  6. För att uppdatera eller komma åt en kontroll, kontrollera dess kontrolltyp och uppdatera det önskade värdet

Dessa steg sammanfattar hur du använder ActiveX-kontroller i Excel med C#. Börja processen genom att komma åt formsamlingen från ett ark i en arbetsbok och anropa metoden AddActiveXControl() i klassen ShapeCollection. Ange kontrolltyp, målcell och storlek för ActiveX-kontrollen och länka kontrollen till en cell för att manipulera dess värde.

Kod för att lägga till ActiveX-kommandoknapp med C#

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);
}
}

Den här koden visar hur du lägger till en ActiveX-kontroll Combo Box ActiveX med C# i Excel-ark. Metoden AddActiveXControl() returnerar en referens till den nyligen tillagda formen som du kan använda för att ställa in den länkade cellen och andra egenskaper som typsnitt, färg, skugga och textjustering, för att lista några. På liknande sätt, om du typcastar formen till en specifik kontroll, får du ett stort antal egenskaper för att anpassa kontrollen.

Den här artikeln har lärt oss hur man lägger till och får åtkomst till ActiveX-kontroller i en Excel-fil. För att lägga till en bild i en Excel-fil, se artikeln om hur man lägger till bild i Excel-cell med C#.

 Svenska