Liliana311 Geschrieben 15. März 2005 Geschrieben 15. März 2005 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 Zitieren
SNOWMAN Geschrieben 15. März 2005 Geschrieben 15. März 2005 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. Zitieren
Crash2001 Geschrieben 15. März 2005 Geschrieben 15. März 2005 Hi Liliana. Schau mal hier Vielleicht hilft dir das weiter. (weiss nicht genau, ob das das ist was du meinst) Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 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... Zitieren
SNOWMAN Geschrieben 15. März 2005 Geschrieben 15. März 2005 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 Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 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 Zitieren
SNOWMAN Geschrieben 15. März 2005 Geschrieben 15. März 2005 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 Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 Habs genau so gemacht wie du es gesagt hast: Menü.Controls.remove 1 Menü.Controls.remove 2 Menü.Controls.remove 3 Ergebnis: trotzdem Fehlermeldung, Methode oder Datenobjekt nicht gefunden.. Zitieren
SNOWMAN Geschrieben 15. März 2005 Geschrieben 15. März 2005 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)) Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 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 Zitieren
SNOWMAN Geschrieben 15. März 2005 Geschrieben 15. März 2005 geil, habs jetzt 6 mal drin stehn gilt ja nur für die aktuelle outlooksession nun, ich werd ma gucken was mit dazu einfällt Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 ja, ich werd auch mal 'irgendwas' weiterprobieren Zitieren
Thanks-and-Goodbye Geschrieben 15. März 2005 Geschrieben 15. März 2005 Das ist mir hier eindeutig zu Programmier-lastig. ---> Verschoben: Basic, VB usw... Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 Habs hinbekommen einfach nur: Menü.Reset Nochmals danke für die Hilfe! Zitieren
SNOWMAN Geschrieben 15. März 2005 Geschrieben 15. März 2005 nunja, so gehts auch was ich auch noch gefunden hab ist menü.controls.item(index).delete so kann man gezielt über den index items löschen Zitieren
Liliana311 Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 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... Zitieren
Empfohlene Beiträge
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.