69304
Feb 23, 2010, updated at 12:33:55 (UTC)
4927
3
0
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 136650
Url: https://administrator.de/contentid/136650
Printed on: April 19, 2024 at 19:04 o'clock
3 Comments
Latest comment
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