TheSmile
Mitglied
Hallo Leute,
ich bastel gerade ein Outlook Add-In mit VS2008 und bin auf ein Problem gestoßen, für das ich im Netz noch keine Lösung finden konnte.
Ich möchte einen eigenen CommandBarButton auf eine schon vorhandene Menüleiste (CommandBar) in Outlook setzten und das ganze nur bei Terminen (AppointmentItem).
Sollte das nicht gehen, wäre auch eine eigene CommandBar nur bei Terminen ok, aber selbst das klappt nicht.
Hier ist mal ein Codefetzen der keine Exception wirft (Add-In wird komplett ohne Fehler geladen), aber den Button einfach nicht anzeigen will:
Ich weiß leider nicht, was schief geht. Möglicherweise ist der Ansatz über
schlicht falsch, aber meine Erfahrung mit Outlook Add-Ins liegt zeitlich leider bis VB6 zurück.
Das Setzen einer neuen CommandBar im Outlookfenster selbst klappt bspw. mit diesem Code:
Danke für eure Hilfe,
Nobbi
ich bastel gerade ein Outlook Add-In mit VS2008 und bin auf ein Problem gestoßen, für das ich im Netz noch keine Lösung finden konnte.
Ich möchte einen eigenen CommandBarButton auf eine schon vorhandene Menüleiste (CommandBar) in Outlook setzten und das ganze nur bei Terminen (AppointmentItem).
Sollte das nicht gehen, wäre auch eine eigene CommandBar nur bei Terminen ok, aber selbst das klappt nicht.
Hier ist mal ein Codefetzen der keine Exception wirft (Add-In wird komplett ohne Fehler geladen), aber den Button einfach nicht anzeigen will:
Code:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
_CalendarFolder = this.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);
this.appointmentDefaultBar = _CalendarFolder.GetExplorer(false).CommandBars["Standard"];
// Add an item to the default bar.
this.timeToTravelButton = (CommandBarButton)appointmentDefaultBar.Controls.Add(
MsoControlType.msoControlButton, missing,
missing, 1, false);
// Layout the menu item.
this.timeToTravelButton.Style = MsoButtonStyle.msoButtonCaption;
this.timeToTravelButton.Caption = "Time To Travel";
//this.timeToTravelButton.FaceId = 1098; // some calendar icon
this.timeToTravelButton.Click += new _CommandBarButtonEvents_ClickEventHandler(this.timeToTravel_Click);
this.timeToTravelButton.Visible = true;
}
Ich weiß leider nicht, was schief geht. Möglicherweise ist der Ansatz über
Code:
this.Application.Session.GetDefaultFolder
Das Setzen einer neuen CommandBar im Outlookfenster selbst klappt bspw. mit diesem Code:
Code:
CommandBar myCommandBar = this.Application.ActiveExplorer().CommandBars.Add("custom", MsoBarPosition.msoBarTop, false, true);
CommandBarControl myCommandBarControl = myCommandBar.Controls.Add(MsoControlType.msoControlPopup, 1, "", 1, true);
myCommandBarControl.Visible = true;
myCommandBar.Visible = true;
myCommandBarControl.Caption = "DEMO";
Danke für eure Hilfe,
Nobbi