Jeg lovede på Mød Microsoft at publisere noget af demokoden. Vi starter lidt blidt med at vise meget simpel brug af Custom Task Pane i en Excel add-in.
Gør som følger:
- Sørg for at have Office 2007, VS (pro eller højere) og VSTO 2005 SE installeret
- Lav et C# 2007 Excel Add-in Projekt (skal nok skifte lidt mellem sprogene - næste gang bliver det i VB)
- Definer tre variabler private for ThisAddIn-klassen (eksempelvis lige over ThisAddIn_Startup-metoden)
Microsoft.Office.Tools.CustomTaskPane ctp;
MonthCalendar cal;
Button btn;
- Tilføj følgende kode til ThisAddIn_Startup
// Kalender
cal = new MonthCalendar();
cal.Left = 10;
cal.Top = 10;
// Knap
btn = new Button();
btn.Text = "Klik på mig";
btn.Left = 10;
btn.Top = cal.Height + 20;
btn.Click += new EventHandler(btn_Click);
// Brugerkontrol med kalender og knap
UserControl ctrl = new UserControl();
ctrl.Controls.Add(cal);
ctrl.Controls.Add(btn);
// Tilføj kontrol til Custom Task Pane og vis den
ctp = this.CustomTaskPanes.Add(ctrl, "min test");
ctp.Visible = true;
- Tilføj følgende eventhandler
void btn_Click(object sender, EventArgs e)
{
this.Application.ActiveCell.Value2 =
cal.SelectionStart.ToShortDateString();
}
- Tilføj følgende til ThisAddIn_ShutDown
this.CustomTaskPanes.Remove(ctp);
Nu vil add-in'en blive installeret og en kalender og en knap vil være tilgængelig i en custom task pane. Når der klikkes på knappen indsættes den i kalenderen valgte dato.

Add-in'en er ikke særlig praktisk fordi der blandt andet oprettes en custom task pane i Addin_Startup, og den eneste måde brugeren kan styre om vinduet skal være tilgængeligt eller ej er ved at starte og stoppe add-in'en og det er naturligvis ikke så godt. Bedre var det hvis vinduet kunne styres af brugeren gennem en knap på ribbon - og det handler næste indlæg om.
I øvrigt: Hvis du gerne vil slette en installeret add-in så klik på Office-knappen og vælg Excel options. Herefter klikker du på Add-ins-fanen og vælger COM add-ins i Manage-listen (nederst) og klikker på Go... Nu kan den ønskede add-in fjernes.
Ovennævnte kode er i øvrigt fra en artikel til det Alt om DATA som kommer primo januar.