aysyxc 10 Geschrieben 1. Oktober 2009 Melden Geschrieben 1. Oktober 2009 Hallo zusammen, ich möchte zwei Variablen miteinander vergleichen und wenn sie übereinstimmen soll das Item gelöscht werden. Soweit so gut, aber irgendwie führt er die Then Anweisung nicht aus. Gibt aber auch keine Fehlermeldung heraus. Kann mir da jemand weiterhelfen? Sub loeschen1_Click ID = Item.UserProperties.Find("ID").Value Set nms = Application.GetNameSpace("MAPI") Set myFolder = nms.Folders("Postfach - xxx, yyy") Set fld = myFolder.Folders("Kalender") Set itms = fld.Items For Each itm in itms MsgBox "Ursrüngliche ID: " & itm.body MsgBox "Eingegebene ID: " & ID If itm.Body = ID Then itm.Delete Next End Sub P.S.: Die MsgBox ist nur dazu da damit ich sehen kann welche Einträge die Variablen haben, sie sind gleichen Inhalts.
NilsK 3.045 Geschrieben 1. Oktober 2009 Melden Geschrieben 1. Oktober 2009 Moin, haben sie auch den gleichen Typ? Konvertier sie doch mal für den Vergleich in denselben Typ, z.B. String. Gruß, Nils
Cybquest 36 Geschrieben 1. Oktober 2009 Melden Geschrieben 1. Oktober 2009 Nur mal so aus'm Bauch: Evtl. mal mit If trim(itm.Body) = trim(ID) Then itm.Delete probieren, um mögliche Leer- oder Umbruchzeichen abzuschneiden.
aysyxc 10 Geschrieben 5. Oktober 2009 Autor Melden Geschrieben 5. Oktober 2009 Hallo zusammen, Moin, haben sie auch den gleichen Typ? Konvertier sie doch mal für den Vergleich in denselben Typ, z.B. String. Gruß, Nils Ich dachte bei VBS muss ich keine Variablen deklarieren? Wie kann ich die denn konvertieren? @cyquest Habe deinen Tip gerade ausprobiert, funktioniert leider nicht.
d.stegemann 10 Geschrieben 5. Oktober 2009 Melden Geschrieben 5. Oktober 2009 Hallo aysyxc, ich denke Nils meinte ein explizites Konvertieren... Das macht man in vbs z.B. mit CStr(wert) für String CBool(wert) für Boolean CDate(wert) für Datum CInt(wert) für Integer ... Also für deinen Fall am besten CStr... Wäre dann mit Cybquest's Vorschlag kombiniert so was wie... vorher... If itm.Body = ID Then itm.Delete nacher... If CStr(trim(itm.Body)) = CStr(trim(ID)) Then itm.Delete Gruß Dirk
aysyxc 10 Geschrieben 13. Oktober 2009 Autor Melden Geschrieben 13. Oktober 2009 Vielen Dank Dirk, damit funktioniert das einwandfrei. Das es auch immer so kompliziert sein muss. Lieben Gruß aysyxc
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden