
69304
23.02.2010, aktualisiert um 13:33:55 Uhr
VBA in Outlook Nachrichten als SPAM kennzeichnen Fehlermeldung
Hallo Leute!
Ich habe in VBA von Outlook ein Skript geschrieben, dass beim reinkommen der Nachricht den Betreff überprüft auf eine Zeichenfolge (z.B. Viagra).
Die Nachricht soll dann als "*SPAM*" gekennzeichnet werden.
Dies funktionierte auch noch soweit, bis ich eine FileReader hinzugefügt habe, der Zeilen einer Text-Datei ausliest und dieses dann als Kriterium nimmt.
Die Fehlermeldung lautet dann: "Laufzeitfehler '91': Objektvariable oder With-Blockvariable nicht festgelegt"
Diese tritt an der Zeile mit "If InStr(oEmail.HTMLBody, SpamKriterium) > 0 Then" auf, wenn ich per Break-Points versuche den Fehler zu ermitteln. Alles davor geht.
Hier mein Code, ich hoffe jemand findet den Fehler....
Ich habe in VBA von Outlook ein Skript geschrieben, dass beim reinkommen der Nachricht den Betreff überprüft auf eine Zeichenfolge (z.B. Viagra).
Die Nachricht soll dann als "*SPAM*" gekennzeichnet werden.
Dies funktionierte auch noch soweit, bis ich eine FileReader hinzugefügt habe, der Zeilen einer Text-Datei ausliest und dieses dann als Kriterium nimmt.
Die Fehlermeldung lautet dann: "Laufzeitfehler '91': Objektvariable oder With-Blockvariable nicht festgelegt"
Diese tritt an der Zeile mit "If InStr(oEmail.HTMLBody, SpamKriterium) > 0 Then" auf, wenn ich per Break-Points versuche den Fehler zu ermitteln. Alles davor geht.
Hier mein Code, ich hoffe jemand findet den Fehler....
Private Sub Application_NewMail()
Dim oNS As Outlook.NameSpace
Dim oInbox As Outlook.MAPIFolder
Dim oEmail As Outlook.MailItem
Dim i As Integer
Dim SpamKriterium As String
Dim SpamDateipfad As String
Dim SpamKennzeichnung As String
SpamDateipfad = "C:\spam.txt"
SpamKennzeichnung = "*****SPAM*****"
Set oNS = Application.GetNamespace("MAPI")
Set oInbox = oNS.GetDefaultFolder(olFolderInbox)
Open SpamDateipfad For Input As #1
Do While Not EOF(1)
Line Input #1, SpamKriterium
For i = 1 To oInbox.Items.Count
Set oEmail = oInbox.Items.Item(i)
If oEmail.UnRead = True Then
If InStr(oEmail.HTMLBody, SpamKriterium) > 0 Then
oEmail.Subject = SpamKennzeichnung & oEmail.Subject
oEmail.UnRead = True
oEmail.Save
End If
End If
Next i
Set oInbox = Nothing
Set oNS = Nothing
Loop
Close #1
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136650
Url: https://administrator.de/forum/vba-in-outlook-nachrichten-als-spam-kennzeichnen-fehlermeldung-136650.html
Ausgedruckt am: 10.05.2025 um 10:05 Uhr
3 Kommentare
Neuester Kommentar

Hallo rbrixel !
An der Zeile mit InStr fällt mir kein Fehler auf, allerdings ist die Codezeile 29 und 30 falsch plaziert. Sollte logischerweise erst nach dem Loop kommen.
Gruß Dieter
An der Zeile mit InStr fällt mir kein Fehler auf, allerdings ist die Codezeile 29 und 30 falsch plaziert. Sollte logischerweise erst nach dem Loop kommen.
Gruß Dieter

Hallo rbrixel!
Keine Ursache! Den Beitrag könntest Du aber noch auf gelöst setzen
Gruß Dieter
Keine Ursache! Den Beitrag könntest Du aber noch auf gelöst setzen
Gruß Dieter