Kultom Skrevet 26. mars 2008 Del Skrevet 26. mars 2008 Målet er å få lagt til en eller flere items i høyreklikk menyen til Outlook. Men jeg er dårlig kjent med VB, og dessverre ligger det ikke så mye informasjon om Outlook programmering i C# som i VB der ute. Men har funnet frem til denne koden (tatt fra MSDN), som ser ut som det er omtrent akkurat det det jeg trenger. Istedenfor ItemContextMenuDisplay, blir det nok heller ViewContextMenuDisplay, siden jeg vil ha tak i menyen som kommer når man høyreklikker på kalenderen. Om ikke en direkte oversettelse, så en forklaring på VB koden. Private Sub Application_ItemContextMenuDisplay(ByVal CommandBar As Microsoft.Office.Core.CommandBar, ByVal Selection As Microsoft.Office.Interop.Outlook.Selection) Handles Application.ItemContextMenuDisplay ChangeToWebViewButton = CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, , , , True) ChangeToWebViewButton.Caption = "Show using WebView" If (Selection.Count > 0) Then Dim o As Object = Selection(1) If Not IsNothing(o) Then Dim messageClass As String = o.MessageClass If messageClass = "IPM.Note.WebView" Then ChangeToWebViewButton.State = Microsoft.Office.Core.MsoButtonState.msoButtonDown Else ChangeToWebViewButton.State = Microsoft.Office.Core.MsoButtonState.msoButtonUp End If End If End If Me.Selection = Selection End Sub Eventuelt om noen vet om noen C# "howto"/dokumentasjon som kanskje beskriver hvordan jeg skal få lagt til nye valg i menyen så hadde det vært kanskje enda mer til hjelp. Takk på forhånd:) Lenke til kommentar
Kultom Skrevet 26. mars 2008 Forfatter Del Skrevet 26. mars 2008 Nevermind, fikk løst det. Lenke til kommentar
MirusMentis Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 Kanskje du vil dele løsningen med oss? Lenke til kommentar
Kultom Skrevet 31. mars 2008 Forfatter Del Skrevet 31. mars 2008 Ja, det kan jeg jo gjøre. // legger til Ny reservasjons opsjon ved høyreklikk this.Application.ViewContextMenuDisplay += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ViewContextMenuDisplayEventHandler(Application_ViewContextMenuDisplay); // Lager en Ny reservasjons knap på høyreklikk menyen i Outlook kalenderen void Application_ViewContextMenuDisplay(Microsoft.Office.Core.CommandBar CommandBar, Microsoft.Office.Interop.Outlook.View View) { Menubtn = CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, missing, missing, 4, true) as Office.CommandBarButton; Menubtn.Style = Office.MsoButtonStyle.msoButtonIconAndCaption; // Knappen skal ha bilde og text Menubtn.BeginGroup = true; // Den er i en egen "gruppe" slik at vi får // skillelinjer rundt gruppen Menubtn.Caption = "Ny Reservasjon"; // Navn Menubtn.Picture = PictureDispConverter.ToIPictureDisp(Properties.Resources.logo); // Legger til bildet Menubtn.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(Menubtn_Click); } // Legger til Eventhandleren (den under) // Kaller på reservasjonsvinduet ved høyreklikk void Menubtn_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault) { //Her legger vi inn hva knappen skal gjøre } Om det er helt rett måte å gjøre det på, og om koden er så pen det er ikke sikkert Men funke, det gjør det Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå