Zum Inhalt springen

Wie lösche ich zuvor eingefügte Menüpunkte (mit Makros) in Outlook 2000?


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

wie lösche ich zuvor eingefügte Menüpunkte in Outlook 2000?

Die Menüpunkte wurden mit Makros eingefügt.

Da ich den Code nicht selbst geschrieben habe, blicke ich da nicht so ganz durch

Bsp. für das Hinzufügen:

.

.

.

Set MenüpunktNeu=Menü.Controls.Add(, , , i)

.

.

.

Wenn ihr noch mehr von dem Code sehen wollt, einfach "bescheid sagen".

Wie geht das Löschen nun?

Hab schon gegoogelt, aber es waren keine nützlichen Infos dabei.

Wäre super, wenn ihr mir da helfen könntet.

LG

Liliana

Geschrieben

VB(A) ist ja, laut Entwickler, so aufgebaut das man es möglichst einfach verstehen kann.

Und in der Hilfe (VBA-Editor) findet man sehr viel, markierst du zB das "add" und drückst F1, dann VBA, findest du im neuen Fenster unter "siehe auch" das wörtchen "remove".

Aber auch kurz überlegen, wenn ich was dazu tue, dann mit add.

Somit könnte entfernen "delete", "remove" oder etwas in der art sein, in diesem fall, denke ich, ist es remove.

Geschrieben

Erstmal danke für eure Infos.

Also wenn ich es so schreibe:

1)

Menü.Controls("Worksheet Menu Bar").Reset

kommt folgende Meldung:

Laufzeitfehler '5'

Ungültiger Prozeduraufruf oder ungültiges Argument.

2)Menü.Controls.Remove

Fehlermeldung:

Fehler bei Kompilieren

Methode oder Datenobjekt nicht gefunden

3)Menü.Controls.Reset

Fehlermeldung wie bei 2)

hmm..ich probier mal noch weiter...

Geschrieben

och liliana, ich hab doch gesagt, mal in die hilfe gucken ;)

da steht unter "remove (VBA)" dann sowas:

Syntax


Objekt.Remove Index
du hast den Index vergessen ;) Index? Ja, der Index, du hast ein Menüobjekt mit einem Namen "Menü" (wie einfallsreich) und wenn du diesem Objekt neue elemente zuweist haben die alle den gleichen namen, aber verschiedene indexe, sieht dann so aus:
Syntax

Objekt.Add (item, key, before, after) 'Der KEY stellt den INDEX dar!


menü.add(,1,,i) '1. Menüelement

menü.add(,2,,i) '2. Menüelement

...



menü.remove 1 'Entfernt das 1. Menüelement

Ich hoffe jetzt klappts, ansonsten einfach nochma bescheid sagen ;)

Geschrieben

Menü.Remove 1 Fehlermeldung wie bei 2)

klappt irgendwie nicht...

hier mal zur Info der komplette Code zum Hinzufügen der Menüpunkte:

Sub MenüMitarbeiter() 'Stand 13.03.03

'Projekt "Urlaubsplanung mit Outlook 2000"

'erstellt von: XXX

'Makro, das dem Menü "Aktionen" von Outlook-Terminelementen neue Menüpunkte hinzufügt:

'Menüpunkt 1: "Urlaub einreichen"

'Menüpunkt 2: "Freizeitausgleich"

'Menüpunkt 3: "beantragten Termin löschen",

'die zum Einreichen u. Löschen von Urlaubsanträgen bzw.Anträgen auf Freizeitausgleich

'benötigt werden.

'Den eingefügten Menüpunkten werden entsprechende Makros zugewiesen,die ausgeführt werden,

'wenn der Benutzer einen der o.g.Menüpunkte anklickt.

'********************************************************************************************

'Variablendeklaration:

Dim Termin As AppointmentItem

Dim Menüleiste As CommandBar

Dim Menü As CommandBarPopup

Dim MenüpunktNeu As CommandBarButton

Dim i As Integer

'********************************************************************************************

'Erstellen eines neuen Outlook-Terminelements u. Zuweisung an die Variable "Termin"

Set Termin = Application.CreateItem(olAppointmentItem)

'********************************************************************************************

'With-Anweisung,die auf das erstellte Terminelement zugreift:

With Termin

'FOR-Schleife zum Durchlaufen der Symbolleisten des Termins;

'Zuweisung der Menüleiste an die Variable "Menüleiste"

For i = 1 To .GetInspector.CommandBars.Count

If .GetInspector.CommandBars(i).NameLocal = "Menüleiste" Then

Set Menüleiste = .GetInspector.CommandBars(i)

Exit For

End If

Next

'FOR-Schleife zum Durchlaufen der Menüs der Menüleiste;

'Zuweisung des Menüs "Aktionen" an die Variable "Menü"

For i = 1 To Menüleiste.Controls.Count

If Menüleiste.Controls.Item(i).Caption = "Akt&ionen" Then

Set Menü = Menüleiste.Controls.Item(i)

Exit For

End If

Next

'FOR-Schleife zum Durchlaufen der Menüpunkte des Menüs "Aktionen",

'um auf die Position des Menüpunktes "Neuer Termin" zuzugreifen

For i = 1 To Menü.Controls.Count

If Menü.Controls.Item(i).Caption = "&Neuer Termin" Then

'Zählervariable i wird um 1 erhöht,um Position für neue Menüpunkte festzulegen

i = i + 1

'Hinzufügen Menüpunkt "beantragten Termin löschen"

Set MenüpunktNeu = Menü.Controls.Add(, , , i)

'Zuweisung des Makros "TerminLöschen" über die OnAction-Eigenschaft

With MenüpunktNeu

.Caption = "beantragten Termin löschen"

.OnAction = "TerminLöschen"

.FaceId = 67

.Style = msoButtonIconAndCaption

.Enabled = True

.Visible = True

End With

'Hinzufügen Menüpunkt "Feizeitausgleich"

Set MenüpunktNeu = Menü.Controls.Add(, , , i)

'Zuweisung des Makros "Freizeitausgleich" über die OnAction-Eigenschaft

With MenüpunktNeu

.Caption = "Freizeitausgleich"

.OnAction = "Freizeitausgleich"

.FaceId = 29

.Style = msoButtonIconAndCaption

.Enabled = True

.Visible = True

End With

'Hinzufügen Menüpunkt "Urlaub einreichen"

Set MenüpunktNeu = Menü.Controls.Add(, , , i)

'Zuweisung des Makros "UrlaubEinreichen" über die OnAction-Eigenschaft

With MenüpunktNeu

.Caption = "Urlaub einreichen"

.OnAction = "UrlaubEinreichen"

.BeginGroup = True

.FaceId = 29

.Style = msoButtonIconAndCaption

.Enabled = True

.Visible = True

End With

Exit For

End If

Next

End With

'********************************************************************************************

'Löschen des Terminelements,das lediglich zum Einfügen der Menüpunkte benötigt wurde

Termin.Delete

'********************************************************************************************

'Beenden des Programms

End Sub

'********************************************************************************************

'Nach Ablauf des Programms stehen die eingefügten Menüpunkte in allen Outlook-Terminelementen

'zur Verfügung.

'********************************************************************************************

Diese 3 hinzugefügten Menüpunkte will ich wieder löschen

Geschrieben

irgendwie hast du noch immer keinen index o_O

Set MenüpunktNeu = Menü.Controls.Add(, , , i)

wird zu

Set MenüpunktNeu = Menü.Controls.Add(,Index, , i)

und anstelle Index halt 1,2, oder 3, jenachdem um wlechen punkt es sich handelt.

Set MenüpunktNeu = Menü.Controls.Add(, 1, , i)'löschen erzeugenn

Set MenüpunktNeu = Menü.Controls.Add(, 2, , i)'freizeitausgleich erzeugen

Set MenüpunktNeu = Menü.Controls.Add(, 3, , i)'einreichen erzeugen

Menü.Controls.remove 1 'löschen entfernen

Menü.Controls.remove 2 'freizeitausgleich entfernen

Menü.Controls.remove 3 'einreichen entfernen

Geschrieben

ok, anscheinden kennt er remove nicht... blöde hilfedatei :/

ich bekomm dein programm irgendwie nicht zum laufen bzw. es läuft zwar aber ich bekomm die menüpunkte nicht o_O

daher konnt ichs grad nicht testen

versuchts mal mit unload(objekt)

unload(menü.contorls.item(index))

Geschrieben

Bsp.:

Unload (Menü.Controls.Item(1))

Fehlermeldung:Laufzeitfehler 438, Objekt unterstützt diese Eigenschaft oder Methode nicht.

---------------

Um die Menüpunkte zu sehen, musst du auf Kalender,neuer Termin und dann auf Aktionen gehen...

bzw. in der 3.Schleife &Neuer Termin in Neuer Ter&min umändern

Geschrieben

ja, habs versucht geht auch...

nunja, jetzt hab ich zum Probieren zwei Menüpunkte rausgelöscht und jetzt bekomm ich die nicht mehr rein...

hab alles gelöscht...wieder eingefügt.. nix...nur ein Menüpunkt steht da..

Na egal, das krieg ich schon hin...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...