Verfasst von: bletra | 14. April 2011

Excel-Add-In: TaskPane (Teil 1 von 2)

Die Entwicklung von Add-Ins ist mit VS2010 einfacher geworden. Im Hintergrund finden Sie weiterhin das gute alte COM-Interop, das die Kommunikation regelt, aber man muss sich als Entwicklerin um weniger kümmern. Sie können einfach auf Basis der VS2010-Projektvorlage ein neues Excel-Add-In erstellen. Code der direkt starten soll, fügen Sie in die automatisch generierte Methode xxx_Startup ein. In diese Add-In-Datei gehört der gesamte Code, der mit Excel interagiert.

Um beispielsweise Zellen mit Werten zu füllen, können Sie eine Methode ImportData implementieren:

internal void ImportData()
{
  Excel.Workbook wb = this.Application.ActiveWorkbook;
  Excel.Worksheet ws = wb.ActiveSheet;
  for (int row = 1; row < 10; row++)
    for (int col = 1; col < 5; col++)
      ws.Cells[row, col] = "hi";
}

Achtung: Excels Zellen beginnen beim Index 1 und nicht bei 0!

Benötigt Ihr Add-In eine Oberfläche zur Eingabe von Parametern, so können Sie dies über ein Ribbon (siehe Teil 2) oder ein TaskPane erreichen. Wer bei WPF bleiben möchte, muss nun folgenden Umweg nehmen:
Fügen Sie Ihrem Projekt ein WindowsForms-basiertes UserControl hinzu und nennen Sie es z.B. TaskPaneView. Nun können Sie ein WPF User Control hinzufügen. Hier platzieren Sie Ihre Controls. Möchten Sie nun beispielsweise obige Funktion aufrufen, so geschieht dies über Globals:

Globals.ThisAddIn.ImportData();

Nun müssen Sie das WPF-Control noch in das WinForm-UserControl einfügen:  Öffnen Sie hierzu Ihr WinForm-UserControl, wählen Sie aus der Toolbox WPF Interoperability->ElementHost. Bei Select Host content wählen Sie Ihr WPF-User Control (falls es noch nicht angezeigt wird, müssen Sie Ihr Projekt zunächst kompilieren).

Zu guter Letzt müssen Sie die TaskPane noch in Excel einfügen, dies geschieht in der _Startup-Methode:

Microsoft.Office.Tools.CustomTaskPane myPane = this.CustomTaskPanes.Add(new TaskPaneView(), "my user control add in test");
myPane.Visible = true;

Nun können Sie das Projekt im Debugger starten.

Lesen Sie auch Teil 2, dieser Kurzserie.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Kategorien

%d Bloggern gefällt das: