Outlook - VBA - Anhänge extrahieren - keine Reaktion
Quelle:
http://www.ms-office-forum.net/forum/sitemap/index.php?t-186463.html
http://www.office-loesung.de/ftopic401266_0_0_asc.php
Mein Code, aus der Quelle angepasst und überflüssiges entfernt.
Aufgerufen wird es mittels einer Regel.
Das schöne ist: es passiert einfach nichts sichtbares. Selbst wenn ich jetzt die MsgBox verwende, wird auch die mir nicht angezeigt. Nur wenn es einen Syntaxfehler gibt.
Die Sicherheit steht schon auf "nicht empfohlen", trotzdem passiert einfach nichts.
Ein anderes Skript hingegen läuft problemlos.
Falls es zur Lösungsfindung beiträgt, hier der Code:
Der Code schickt die Mail mit dem oben angegebenen Betreff an die angegebene Zieladresse weiter.
Beste Grüße
Midivirus
Ich könnte es auch Outlook zuordnen ... hab mich für VBA entschieden.
http://www.ms-office-forum.net/forum/sitemap/index.php?t-186463.html
http://www.office-loesung.de/ftopic401266_0_0_asc.php
Mein Code, aus der Quelle angepasst und überflüssiges entfernt.
Aufgerufen wird es mittels einer Regel.
Public Sub Application_NewMail(objMail As Outlook.MailItem)
Dim Ordnername As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As Object
Dim maildate As Date
Dim dirdatename As String
Dim anzahl As Integer
'Variable objPosteingang wird mit dem Posteingangsordner verknüpft
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
'Schleife, die jedes Item im Posteingang durchläuft
For Each objNewMail In objPosteingang.Items
'Bedingung, dass Item eine Mail sein muss
If TypeOf objNewMail Is Outlook.MailItem Then
With objNewMail
'Pfad zum Backupordner + dynamischen Unterordner
Ordnername = "C:\Users\User\Desktop\"
anzahl = .Attachments.Count
MsgBox (anzahl)
'Bedingung dass nur ungelesene Mails geprüft werden
If .UnRead = True Then
'Anzahl der Attachments werden gezählt
anzahl = .Attachments.Count
MsgBox (anzahl)
'Bedingung, dass mindestens 1 Attachment in der Mail vorhanden sein muss
'Schleife, die für jedes Attachment durchläuft
For i = 1 To anzahl
'Attachment speichern
.Attachments.Item(i).SaveAsFile Ordnername & "\" & .Attachments.Item(i).FileName
MsgBox (anzahl)
Next i
'Mail löschen
objNewMail.Delete
End If
End With
End If
Next objNewMail
End Sub
Das schöne ist: es passiert einfach nichts sichtbares. Selbst wenn ich jetzt die MsgBox verwende, wird auch die mir nicht angezeigt. Nur wenn es einen Syntaxfehler gibt.
Die Sicherheit steht schon auf "nicht empfohlen", trotzdem passiert einfach nichts.
Ein anderes Skript hingegen läuft problemlos.
Falls es zur Lösungsfindung beiträgt, hier der Code:
Public Sub ForwardMail(objMail As Outlook.MailItem)
Dim oForward As Outlook.MailItem
' Text, der dem Betreff vorangestellt werden soll
Const FIX_SUBJECT As String = "VK1 54398 "
' Verweis auf das aktuell geöffnete oder selektierte Element:
Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(6)
If TypeOf objMail Is Outlook.MailItem Then
Set oForward = objMail.Forward
With oForward
.Recipients.Add "zieladresse@domain.tld"
End With
If InStr(1, oForward.Subject, FIX_SUBJECT, vbTextCompare) = 0 Then
oForward.Subject = FIX_SUBJECT & oForward.Subject
End If
oForward.Display
With oForward
.Send
End With
End If
End Sub
Beste Grüße
Midivirus
Ich könnte es auch Outlook zuordnen ... hab mich für VBA entschieden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169257
Url: https://administrator.de/contentid/169257
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo Midivirus!
Also, Outlook ist ebenfalls nicht meine Baustelle, allerdings ist Outlook auf meinem virtuellen XP installiert und habe die NewMail-Sub mal manuell (ohne Übergabeparameter) getestet und funktioniert. Die Sache mit der Regel habe ich noch nicht so ganz verstanden bzw. beim Versuch eine Regel zu erstellen,
sind meine Mails irgendwie verschwunden und nicht mehr aufzufinden. Von daher liegt der Fehler vermutlich an Deiner Regel?
Gruß Dieter
Also, Outlook ist ebenfalls nicht meine Baustelle, allerdings ist Outlook auf meinem virtuellen XP installiert und habe die NewMail-Sub mal manuell (ohne Übergabeparameter) getestet und funktioniert. Die Sache mit der Regel habe ich noch nicht so ganz verstanden bzw. beim Versuch eine Regel zu erstellen,
sind meine Mails irgendwie verschwunden und nicht mehr aufzufinden. Von daher liegt der Fehler vermutlich an Deiner Regel?
Gruß Dieter
Hallo Midivirus!
Sollte bedeuten, daß die Mails schon vor dem Start der Sub weg waren bzw. nicht im 'GetDefault...' gefunden wurden.
Gruß Dieter
Warum die Mail gelöscht ist, siehe "Zeile 35 und 36.
Das hast Du leider missverstandenSollte bedeuten, daß die Mails schon vor dem Start der Sub weg waren bzw. nicht im 'GetDefault...' gefunden wurden.
Gruß Dieter