91 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo liebe Excelianer,

wir benutzen viele Addins in unseren xls Dateien aber nicht alle User lassen ihre Addins beim Beenden der Datei auch die Addins wieder löschen. Mit der Zeit häufen sich die Addins immer mehr, so dass ich mir die Frage stelle, ob es einen VBA code gibt, der einfach alle Addins löschen kann, ohne dass man dafür den Namen der Addins kennen muss. Also einfach ein generelles Löschen der Addins.

Wäre echt toll, wenn Ihr hier einen Tipp hättet.

Vielen Dank vorab und einen Guten Rutsch ins Wochenende.

Peter

5 Antworten

0 Punkte
Beantwortet von m-o Profi (13.9k Punkte)

Hallo Peter,

schau mal, ob du hiermit etwas anfangen kannst: Link

Gruß

M.O.

0 Punkte
Beantwortet von pitsa Einsteiger (9 Punkte)
Hallo M.O.

entschuldige bitte, dass ich mich erst jetzt melde. Es ging leider nicht eher.

Habe die letzten Tage hin und her probiert aber leider konnte ich den Code unter dem Link nicht anpassen. Irgendetwas  verstehe ich hier einfach nicht. Der Code zählt noch nicht einmal die Addins richtig (irgendwie immer nur vier anstatt 3, 5 oder mehr).

Mein Code sieht wie folgt aus:

Sub KillAddIn()

    For i = 1 To AddIns.Count
        Application.CommandBars("Worksheet Menu Bar").Controls("Update Model List").Delete
    Next

End Sub

Wäre echt toll, wenn Du mal einen Blick drüber werfen könntest.

Vielen lieben Dank.

Gruss

Peter
0 Punkte
Beantwortet von m-o Profi (13.9k Punkte)

Hallo Peter,

in deiner Frage hattest du über Add-Ins geschrieben. Wenn ich mir jetzt deinen Code ansehe, geht es wohl eher um benutzerdefinierte CommandBars.

Schau mal ob dir dieser Code weiterhilft:

Sub CBloeschen()
Dim cb As CommandBar

For Each cb In CommandBars
  If Not cb.BuiltIn Then cb.Delete
Next

End Sub

Du hast geschrieben, dass nicht alle Benutzer ihre Add-Ins (oder benutzerdefinierte Menüs?) beim Schließen der Datei löschen lassen. Das kann - und sollte - man über das Before-Close-Ereignis der jeweiligen Arbeitsmappe machen.

Gruß

M.O.

0 Punkte
Beantwortet von pitsa Einsteiger (9 Punkte)
Hallo M.O.,

vielen Dank für Deinen Code. Leider ist "cb" bei mir die ganze Zeit "Nothing", so dass die Commandbar nicht gelöscht werden kann. Anbei mal der Code, der die Commandbar erstellt:

    Set myMenuBar = Application.CommandBars("Worksheet Menu Bar")
    Set ctrl1 = myMenuBar.Controls.Add(Type:=msoControlButton, ID:=2950)
    ctrl1.Caption = "Update Model List"
    ctrl1.Style = msoButtonCaption
    ctrl1.TooltipText = "Updates model list in sheet Base"
    ctrl1.OnAction = "Sheet_Names"

Vielleicht hilft das ja weiter. Ein BeforeClose Makro habe ich schon.

Vielen Dank.

Gruss

Peter
0 Punkte
Beantwortet von m-o Profi (13.9k Punkte)

Hallo,

den Commandbar kannst du wie folgt löschen:

Sub weg()

Application.CommandBars("Worksheet Menu Bar").Controls("Update Model List").Delete

End Sub

Schau mal, ob dir das schon weiterhilft.

Gruß

M.O.

...