Announcement

Collapse
No announcement yet.

Outlook Menüpunkt löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Outlook Menüpunkt löschen

    Hallo Leute!

    Ich habe ein Problem mit der DeInstallation meines Outlook PlugIn's.
    Ich erstelle ein Menüpunkt, mit dem mein Programm aufgerufen wird.
    Allerdings bleibt der Eintrag auch nach der DeInstallation des PlungiIn's in Outlook bestehn.

    Wenn das PlugIn geladen wird, wird zunächst ein neuer Menüpunkt erstellt:

    Code:
    Public Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection
            applicationObject = application
            addInInstance = addInInst
            objApp = CreateObject("Outlook.Application")
            objNS = objApp.GetNamespace("MAPI")
            objCalendar = objNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar)
    
            MenuBar = applicationObject.ActiveExplorer.CommandBars.ActiveMenuBar
    
            Dim bFound As Boolean = False
            For Each cmd As Core.CommandBarControl In MenuBar.Controls
                If cmd.Caption = "TerminExport" Then
                    cmd.Delete()
                End If
            Next
    
            mnuTop = CType(MenuBar.Controls.Add(Type:=offTypes.msoControlPopup, Before:=MenuBar.Controls("&?").Index), CommandBarPopup)
            mnuTop.Caption = "TerminExport"
            mnuTop.Visible = True
    Diesen möchte ich, bei der DeInstallation btw. beim Beenden von Outlook wieder herausnehmen. Es sind automatisch zwei Public Subs zur Verfügung gestellt worden:
    Code:
     Public Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown
    
        End Sub
    und:
    Code:
      Public Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection
    
        End Sub
    Jedoch ist es egal, was ich dort hineinschreibe. Ob ich nun einfach den Menüeintrag löschen möchte:

    Code:
    mnuTop.Delete()
    
    oder
    
    mnuTop.Delete(System.Reflection.Missing.Value)
    mnuTop = Nothing
    oder das Applicationobject beenden will:

    Code:
    applicationObject.quit
    Nichts von dem greift, der Menüeintrag bleibt auch nach der DeInstallation in Outlook bestehen.

    Kennt irgendjemand eine Möglichkeit den Eintrag beim Beenden wieder zu löschen?

    Gruß
    Johannes
Working...
X