In Excel AddIn eine Windows Form öffnen

14/05/2009 - 17:54 von AndreasU | Report spam
Hallo,
ich schreibe ein Excel 2003 Addin und will über einen Excel Menüpunkt einen
Dialog (Windows Form) öffnen.
Ok, beim ersten Mal funktioniert das prima. Ich klicke ins Menü und die Form
öffnet sich und schließe die Form wieder. Wenn ich das zweite mal den
Menüpunkt oder einen anderen Menüpunkt anklicke öffnet sich die Form nicht
mehr. Excel reagiert noch auf Eingaben.
Ich habe reindebuggt und das Event menuItemInsertExtReport_Click (siehe
unten) wird nicht mehr aufgerufen.

Habe ich was vergessen? Warum kann ich den Dialog kein zweites mal Öffnen?
Wo gehen die Events hin?




//***************************************************
// Dialog öffnen
private void menuItemInsertExtReport_Click(Office.CommandBarButton Ctrl, ref
bool CancelDefault)
{
frmDialog oFrmDialog; = new frmDialog();
oFrmDialog.Show();
this.oFrmDialog.OnReportSelected
+=new
frmDialog.OnReportSelectedEventHandler(oFrmDialog_OnReportSelected);
}


//***************************************************
// Dialog schließen in frmDialog
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}


der vollstàndigkeit halber - so erstelle ich die Menüs:

//***************************************************
// add new menue item
addInMenu = mainMenu.Controls.Add(
Office.MsoControlType.msoControlPopup,
Type.Missing,
Type.Missing,
Type.Missing,
true);
addInMenu.Caption = "&AddInName";
addInMenuPopUp = (Office.CommandBarPopup)addInMenu;


//add menue and event to open dialog
addInMenuPopUp = (Office.CommandBarPopup)addInMenu;
{
menuItemInsertReport =
(Office.CommandBarButton)addInMenuPopUp.Controls.Add(
Office.MsoControlType.msoControlButton,
Type.Missing,
Type.Missing,
Type.Missing,
true);
menuItemInsertReport.Caption = "Open Form";
menuItemInsertReport.Click + new
Office._CommandBarButtonEvents_ClickEventHandler(menuItemInsertExtReport_Click);
}


-
XXL-Pizza: Der Schnelle Weg zu Ihrer Pizza
http://www.xxl-pizza.de
 

Lesen sie die antworten

#1 Frank Dzaebel
14/05/2009 - 19:00 | Warnen spam
Hallo Andreas,

ich schreibe ein Excel 2003 Addin und will über einen Excel Menüpunkt
einen Dialog (Windows Form) öffnen.
Ok, beim ersten Mal funktioniert das prima. Ich klicke ins Menü und
die Form öffnet sich und schließe die Form wieder. Wenn ich das
zweite mal den Menüpunkt oder einen anderen Menüpunkt anklicke öffnet
sich die Form nicht mehr.



Typischerweise passieren solche Dinge bei Add-Ins, wenn
man die Events nicht mit "-=" wieder am Ende disconnected.

(Deinen Quellcode habe ich erstmal noch nicht geprüft).


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen