Outlook 2003: Datei aus Mailanhang automatisch in Ordner verschieben oder kopieren
Hallo !
ich suche eine Möglichkeit Dateianhänge von Mails direkt in einen Ordner zu verschieben oder zu kopieren. Dies kann ein fixer Ordner sein, muss also nicht bei jeder Mail ein anderer sein.
Beispiel: Mail mit Dateianhang: anhang1.xls.
Dieser soll nun sofort beim Eingang in den Ordner e:\temp\Mailanhänge verschoben oder kopiert werden.
Kennt jemand hier eine Lösungmöglichkeit ?
Ich habe im Outlook nur die Alternative gefunden, die komplette Mails zu verschieben - aber das möchte ich nicht - NUR der Anhang soll verschoben/kopiert werden.
Viele Grüße und Danke schonmal
Sylvia
ich suche eine Möglichkeit Dateianhänge von Mails direkt in einen Ordner zu verschieben oder zu kopieren. Dies kann ein fixer Ordner sein, muss also nicht bei jeder Mail ein anderer sein.
Beispiel: Mail mit Dateianhang: anhang1.xls.
Dieser soll nun sofort beim Eingang in den Ordner e:\temp\Mailanhänge verschoben oder kopiert werden.
Kennt jemand hier eine Lösungmöglichkeit ?
Ich habe im Outlook nur die Alternative gefunden, die komplette Mails zu verschieben - aber das möchte ich nicht - NUR der Anhang soll verschoben/kopiert werden.
Viele Grüße und Danke schonmal
Sylvia
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 48253
Url: https://administrator.de/contentid/48253
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
30 Kommentare
Neuester Kommentar
Hallo Sylvia,
das ist recht simpel und auch irgendwo in der VBA-Hilfe unter Outlook selbst ist ein Beispielcode dafür mit dabei (weiß ich, weil ich da mal zufällig darüber gestolpert bin - eben beim Suchen nach allen Schlüsselworten, die mir spontan im Kontext Attachments einfielen, habe ich es nicht gefunden).
Aber auch im Netz gibt es ~zig aufgemotze Varianten davon (siehe Suchmaschine "Outlook Anhänge automatisiert speichern").
Ein halbwegs seriöser, wenn auch ein bisschen übertriebener Schnipsel schient mir dieser zu sein:
How to: Email Anhang automatisch speichern u. umbennen
(Das "Unbennen" ist ein Zitat, keine persönliche Note von mir)
Wenn es klemmt, melde Dich nochmal.
Gruß
Biber
das ist recht simpel und auch irgendwo in der VBA-Hilfe unter Outlook selbst ist ein Beispielcode dafür mit dabei (weiß ich, weil ich da mal zufällig darüber gestolpert bin - eben beim Suchen nach allen Schlüsselworten, die mir spontan im Kontext Attachments einfielen, habe ich es nicht gefunden).
Aber auch im Netz gibt es ~zig aufgemotze Varianten davon (siehe Suchmaschine "Outlook Anhänge automatisiert speichern").
Ein halbwegs seriöser, wenn auch ein bisschen übertriebener Schnipsel schient mir dieser zu sein:
How to: Email Anhang automatisch speichern u. umbennen
(Das "Unbennen" ist ein Zitat, keine persönliche Note von mir)
Wenn es klemmt, melde Dich nochmal.
Gruß
Biber
Moin Sylvia,
versuch es mal bitte so:
Der Ordner "E:\Mailanhang" MUSS existieren.
( Oder eben vorher mit "MkDir E:\Mailanhang" extra angelegt werden.)
Gruß
Biber
versuch es mal bitte so:
Sub Application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem
Dim aAttachment As Attachment
strNewFolder = "E:\mailanhang\" & Format(Date, "ddmmyy")
On Error Resume Next
MkDir strNewFolder
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each objNewMail In objPosteingang.Items
With objNewMail
If .UnRead = True Then
intAnlagen = .Attachments.Count
If intAnlagen > 0 Then
For i = 1 To intAnlagen
Set oAttachment = .Attachments.Item(i)
oAttachment.SaveAsFile strNewFolder & "\" & oAttachment.FileName
Next i
End If
End If
End With
Next objNewMail
End Sub
Der Ordner "E:\Mailanhang" MUSS existieren.
( Oder eben vorher mit "MkDir E:\Mailanhang" extra angelegt werden.)
Gruß
Biber
Sorry, Sylvia,
das kommt vom schnellen Hingepfusche... bei Gelegenheit zieh ich das mal glatt (oder setze bastla darauf an).
Next Try:
Eines der Problemchen war, dass bei jedem Item im Posteingang unterstellt wurde, es sei eine Mail.
Bei Terminen oder Lesebestätigungen geht es natürlich in die Grütze....
Schau mal, ob Du ein paar Meter weiter damit kommst...
Gruß
Biber
das kommt vom schnellen Hingepfusche... bei Gelegenheit zieh ich das mal glatt (oder setze bastla darauf an).
Next Try:
Sub Application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem
Dim oAttachment As Attachment
strNewFolder = "D:\mailanhang\" & Format(Date, "ddmmyy")
On Error GoTo check_error
MkDir strNewFolder
Back1:
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each Item In objPosteingang.Items
If Item.Class = olMail Then
Set objNewMail = Item
With objNewMail
If .UnRead = True Then
intanlagen = .Attachments.Count
Debug.Print objNewMail & ": "; intanlagen
If intanlagen > 0 Then
For i = 1 To intanlagen
Set oAttachment = .Attachments.Item(i)
oAttachment.SaveAsFile strNewFolder & "\" & oAttachment.FileName
Next i
End If
End If
End With
End If
Next Item
check_error:
Debug.Print Err.Number; Err.Description
If Err.Number = 75 Then ' Fehler beim Zugriff auf Pfad -- ignorieren wir mal
Err.Clear
GoTo Back1:
Else
Err.Raise Err.Number, Err.Description
End If
Err.Clear
Resume Next
End Sub
Eines der Problemchen war, dass bei jedem Item im Posteingang unterstellt wurde, es sei eine Mail.
Bei Terminen oder Lesebestätigungen geht es natürlich in die Grütze....
Schau mal, ob Du ein paar Meter weiter damit kommst...
Gruß
Biber
Moin Sylvia,
nur kurz, weil ENDLICH mein Wochenende beginnt:
Ob das nun bei dieser *.htm bedeutet, dass OL die versucht, als Htm-Seiten - und Unterseiten zu speichern oder da vielleicht noch ein Link auf ein Bildchen aus dem Internet ist.... heb Dir *.htm für später auf.
Ich würde dann den Weg gegen, nicht in ein Tages-Verzeichnis zu speichern, sondern in ein großes Sammelbecken - und diesen Format(date())-String vorne an den Dateinamen dranhängen.
Wenn es sein muss, auch die Uhrzeit dazu.
So, nun bastel mal weiter - wenn ich am Montag aus dem WE zurückkomme, möchte ich hier ein fertiges Musterskript statt dieser zusammengeschroteten Skizze sehen...
Schönes Wochenende
Biber
nur kurz, weil ENDLICH mein Wochenende beginnt:
Hast Du noch ne Idee wegen dem Laufzeitfehler ?
Nicht direkt. Errorcode 5 hat eigentlich schon seit Erfindung der Alufolie die Bedeutung Zugriff verweigert.Ob das nun bei dieser *.htm bedeutet, dass OL die versucht, als Htm-Seiten - und Unterseiten zu speichern oder da vielleicht noch ein Link auf ein Bildchen aus dem Internet ist.... heb Dir *.htm für später auf.
Was passiert wenn die Dateien den gleichen Namen haben ?
Wer zuletzt kommt, gewinnt.Kann man als Ordner anstatt den Tag auch nur den Monat nehmen (0107)?
Jein. kannst Du natürlich, aber bei monatsweise oder jahresweise Abspeichern hast Du naturgemäß mehr Kollisionen (gleiche Dateinamen) als beim Speichern in Tages-Ordner.Ich würde dann den Weg gegen, nicht in ein Tages-Verzeichnis zu speichern, sondern in ein großes Sammelbecken - und diesen Format(date())-String vorne an den Dateinamen dranhängen.
Wenn es sein muss, auch die Uhrzeit dazu.
So, nun bastel mal weiter - wenn ich am Montag aus dem WE zurückkomme, möchte ich hier ein fertiges Musterskript statt dieser zusammengeschroteten Skizze sehen...
Schönes Wochenende
Biber
Moin Sylvia,
Einsteiger-Links zu VBS/Wscript sind schon mehrfach hier im Forum gepostet worden.
Direkt bei M$ findest Du das umfangreiche "Hey, Scripting Guy" -Projekt.
Zu dem albernen Absturz...
So peinlich mir das ist, es könnte etwas besser werden, wenn Du vor der Zeile "check_error:" noch eine Zeile "Exit Sub" einfügst... *schäm*
Gruß
Biber
Einsteiger-Links zu VBS/Wscript sind schon mehrfach hier im Forum gepostet worden.
Direkt bei M$ findest Du das umfangreiche "Hey, Scripting Guy" -Projekt.
Zu dem albernen Absturz...
So peinlich mir das ist, es könnte etwas besser werden, wenn Du vor der Zeile "check_error:" noch eine Zeile "Exit Sub" einfügst... *schäm*
Gruß
Biber
Moin Sylvie nochmal,
zum Entpacken hast Du zwei oder drei Möglichkeiten:
- entweder über einen vorhandenen Konsolen-Entpacker (pkunzip.exe, 7z.exe . rar.exe..)
Sind allesamt legal und unkompliziert als Download erhältlich
Die könntest Du über "WShell.Run( entpacker.exe entpack-parameter)"
- oder hin und wieder später über einen Entpack-Dienst-Batch auspacken lassen
- oder aber mit einer über "Extras"->"Verweise" mit eingebundenen UnZip-Dll gleich im VBA mit auspacken lassen.
Wenn Du einen der gängigen Zipper (WinZip, WinRar, 7Zip) installiert hast, sollte Dir eine entsprechende Bibliothek mit im Outlook angeboten werden.
Aber zwischendurch mal die Frage: Ist das denn alles sinnvoll... blind jeden Anhang zu entpacken?
Müssen nicht bestimmte Anhänge woanders gesammelt werden?
Reden wir hier von den täglich 5000 gezippt an den HelpDesk gemailten Errorlog-Dateien?
Oder geht es um die zwei elektronischen Grußkarten, die Du am Wochenende gemailt bekommst?
Oder bist Du gar diejenige, die unsere ganzen freiwillig an M$ gesendeten Absturz-Infos lesen soll?
Grüße
Biber
zum Entpacken hast Du zwei oder drei Möglichkeiten:
- entweder über einen vorhandenen Konsolen-Entpacker (pkunzip.exe, 7z.exe . rar.exe..)
Sind allesamt legal und unkompliziert als Download erhältlich
Die könntest Du über "WShell.Run( entpacker.exe entpack-parameter)"
- oder hin und wieder später über einen Entpack-Dienst-Batch auspacken lassen
- oder aber mit einer über "Extras"->"Verweise" mit eingebundenen UnZip-Dll gleich im VBA mit auspacken lassen.
Wenn Du einen der gängigen Zipper (WinZip, WinRar, 7Zip) installiert hast, sollte Dir eine entsprechende Bibliothek mit im Outlook angeboten werden.
Aber zwischendurch mal die Frage: Ist das denn alles sinnvoll... blind jeden Anhang zu entpacken?
Müssen nicht bestimmte Anhänge woanders gesammelt werden?
Reden wir hier von den täglich 5000 gezippt an den HelpDesk gemailten Errorlog-Dateien?
Oder geht es um die zwei elektronischen Grußkarten, die Du am Wochenende gemailt bekommst?
Oder bist Du gar diejenige, die unsere ganzen freiwillig an M$ gesendeten Absturz-Infos lesen soll?
Grüße
Biber
Hallo Sylvia!
Pardon, wenn ich in Euer tête à tête reinplatze, aber da Biber oben ohnehin schon mit meiner Mitwirkung gedroht hatte ...
Du könntest zum Aufteilen der Attachments auf entsprechende Unterordner versuchsweise die "For"-Schleife durch folgende Variante ersetzen:
Grüße
bastla
Pardon, wenn ich in Euer tête à tête reinplatze, aber da Biber oben ohnehin schon mit meiner Mitwirkung gedroht hatte ...
Du könntest zum Aufteilen der Attachments auf entsprechende Unterordner versuchsweise die "For"-Schleife durch folgende Variante ersetzen:
...
Set fso = CreateObject("Scripting.FileSystemObject")
For i = 1 To intanlagen
Set oAttachment = .Attachments.Item(i)
strFileName = oAttachment.FileName
strFileType = ""
If InstrRev(strFileName, ".") Then strFileType = LCase(Mid(strFileName, InstrRev(strFileName, ".")))
Select Case strFileType
Case ".xls" 'Typ mit Kleinbuchstaben angeben
strSubFolder = "Excel"
Case ".csv"
strSubFolder = "CSV"
Case Else
strSubFolder = "Andere"
End Select
strSavePath = strNewFolder & "\" & strSubFolder
If Not fso.FolderExists(strSavePath) Then fso.CreateFolder(strSavePath)
oAttachment.SaveAsFile strSavePath & "\" & oAttachment.FileName
Next i
...
Grüße
bastla
Hallo,
ich weiß, ein wirklich alter Beitrag, aber er hat mir _sehr_ weitergeholfen. Da auch ich in VBS/VBA nicht fit bin, würde mich noch ein kleines Goodie in diesem Script erfreuen, wenn es möglich ist.
Am Ende der Verarbeitung soll ein Hinweisbox mit einem Text erscheinen (z.B. "Verarbeitung fertig" oder "Alle Anhänge gespeichert").
Hintergrund ist hier:
Ich bekomme mindestens 2x die Woche wirklich vieeeele Mails mit noch mehr Anhängen. Heute waren es 72 Mails mit insgesammt 353 Anhängen (PDF), entspricht 216 MB. Diese Anhänge kommen auf ein Netzlaufwerk, alle in einen Ordner. Im Script legt er sie jedoch erstmal lokal ab, und ich verschiebe sie später, nach Prüfung.
Das Problem:
Wenn ich nun das Makro in Outlook 2k3 starte, dann kommt erstmal die Sanduhr, zwischenzeitlich ist die mal weg, dann wieder da, und ich erkenne nicht wirklich, wann er durch ist. Daher wäre eine Quittierung schön.
Vielen Dank,
Saschbert
ich weiß, ein wirklich alter Beitrag, aber er hat mir _sehr_ weitergeholfen. Da auch ich in VBS/VBA nicht fit bin, würde mich noch ein kleines Goodie in diesem Script erfreuen, wenn es möglich ist.
Am Ende der Verarbeitung soll ein Hinweisbox mit einem Text erscheinen (z.B. "Verarbeitung fertig" oder "Alle Anhänge gespeichert").
Hintergrund ist hier:
Ich bekomme mindestens 2x die Woche wirklich vieeeele Mails mit noch mehr Anhängen. Heute waren es 72 Mails mit insgesammt 353 Anhängen (PDF), entspricht 216 MB. Diese Anhänge kommen auf ein Netzlaufwerk, alle in einen Ordner. Im Script legt er sie jedoch erstmal lokal ab, und ich verschiebe sie später, nach Prüfung.
Das Problem:
Wenn ich nun das Makro in Outlook 2k3 starte, dann kommt erstmal die Sanduhr, zwischenzeitlich ist die mal weg, dann wieder da, und ich erkenne nicht wirklich, wann er durch ist. Daher wäre eine Quittierung schön.
Vielen Dank,
Saschbert
Hallo Saschbert!
könntest Du am Ende des "Hauptprogrammes" = unmittelbar vor der Zeile
platzieren.
Grüße
bastla
Am Ende der Verarbeitung soll ein Hinweisbox mit einem Text erscheinen (z.B. "Verarbeitung fertig" oder "Alle Anhänge gespeichert").
Die dafür nötige AnweisungMsgBox "Alle Anhänge gespeichert.", vbOKOnly , "Verarbeitung fertig"
check_error:
Grüße
bastla
WOW, super ... einfach spitze! Ich bin super begeistert. Und hey, ich habe es gleich auf den 2. Anhieb hinbekommen, noch eine Abfrage auf die Mailadresse zu bekommen, damit er nicht von allen Mails die Anhänge exportiert.
Nochmals vielen vielen Dank!!!
Gruß
Saschbert
Edith sagt: Der Befehl für die Hinweisbox kommt übrigens nicht direkt über das "check_error:", sondern noch eine Zeile früher vor dem "End Sub" "Exit Sub" (Edith entschuldigt sich ), aber das habe ich mir schon gedacht gehabt. Für alle noch einmal das nun wirklich funktionierende Script, inkl. Hinweis der Fertigstellung und eingeschränkt auf die E-Mails eine Absenders. Zudem habe ich noch eine Zeitvariable in den Ordnernamen eingebaut und die Ordnerbennenung umgetauscht. Hier nun das Script:
Nochmals vielen vielen Dank!!!
Gruß
Saschbert
Edith sagt: Der Befehl für die Hinweisbox kommt übrigens nicht direkt über das "check_error:", sondern noch eine Zeile früher vor dem
Sub Application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem
Dim oAttachment As Attachment
strNewFolder = "C:\TEMP\" & Format(Date, "yyyymmdd") & "-" & Format(Time, "hhmm") & "_Scandaten" 'Hier könnte die Benennung auch getauscht werden, bzw. ein anderer Pfad angegeben werden.
On Error GoTo check_error
MkDir strNewFolder
Back1:
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each Item In objPosteingang.Items
If Item.Class = olMail Then
Set objNewMail = Item
With objNewMail
If .SenderEmailAddress = "test@absender.de" Then 'Hier die Absenderadresse, sonst Zeile löschen
If .UnRead = True Then 'Diese Zeile bewirkt, dass nur ungelesene Items exportiert werden.
intanlagen = .Attachments.Count
Debug.Print objNewMail & ": "; intanlagen
If intanlagen > 0 Then
For i = 1 To intanlagen
Set oAttachment = .Attachments.Item(i)
oAttachment.SaveAsFile strNewFolder & "\" & oAttachment.FileName
Next i
End If
End If 'Dieses EndIf raus, wenn keine Beschränkung auf den Absender
End If
End With
End If
Next Item
MsgBox "Alle Anhänge gespeichert.", vbOKOnly, "Verarbeitung fertig" 'Hinweisbox der Fertigstellung. Wenn unerwünscht, Zeile raus
Exit Sub
check_error:
Debug.Print Err.Number; Err.Description
If Err.Number = 75 Then ' Fehler beim Zugriff auf Pfad -- ignorieren wir mal
Err.Clear
GoTo Back1:
Else
Err.Raise Err.Number, Err.Description
End If
Err.Clear
Resume Next
End Sub
Zitat von @bastla:
Grüße - auch an Edith (die das erwähnte "End
Sub", jetzt "Exit Sub", mitgebracht hat - das hatten
wir oben noch gar nicht) ...
Grüße - auch an Edith (die das erwähnte "End
Sub", jetzt "Exit Sub", mitgebracht hat - das hatten
wir oben noch gar nicht) ...
Hab sie mal ermahnt.
Aber so ist das, wenn man von einer Sprache noch nichts versteht, und die ersten Krabbelversuche wagt.
hey,
schönes Script habt Ihr Euch da zusammengebastelt
Ich benutze es auch und es funktioniert prima !!
Ich bin leider in VB auch absolut unbeholfen und würde das Script gerne ein wenig erweitern.
Ich bekomme mehrere Mails mit jeweils 1 Anhang, dabei interessieren mich nur die Anhaenge.
Wenn die Anhaenge von dem gewissen Absender also kopiert sind, möchte ich die Emails direkt wieder
automatisch löschen.
Ich kann mir vorstellen, dass es folgendermassen funktioniert:
If .SenderEmailAddress = "mail@absender.de" then objNewMail.delete
Ob das richtig ist und wo das letztendlich in das script eingebunden werden muss, weis ich leider nicht.
Vielleicht kann mir einer von Euch helfen.
Gruß
Thomas
schönes Script habt Ihr Euch da zusammengebastelt
Ich benutze es auch und es funktioniert prima !!
Ich bin leider in VB auch absolut unbeholfen und würde das Script gerne ein wenig erweitern.
Ich bekomme mehrere Mails mit jeweils 1 Anhang, dabei interessieren mich nur die Anhaenge.
Wenn die Anhaenge von dem gewissen Absender also kopiert sind, möchte ich die Emails direkt wieder
automatisch löschen.
Ich kann mir vorstellen, dass es folgendermassen funktioniert:
If .SenderEmailAddress = "mail@absender.de" then objNewMail.delete
Ob das richtig ist und wo das letztendlich in das script eingebunden werden muss, weis ich leider nicht.
Vielleicht kann mir einer von Euch helfen.
Gruß
Thomas
Hi,
also ich habe den Code bei visual basic eingegeben...
... und dann kam das raus mehrere fehlermeldungen:
Fehler 1 Der Typ "MAPIFolder" ist nicht definiert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 7 31 ConsoleApplication1
Fehler 2 Der Typ "MailItem" ist nicht definiert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 8 27 ConsoleApplication1
Fehler 3 Der Typ "Attachment" ist nicht definiert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 9 28 ConsoleApplication1
Fehler 4 Zur Angabe von Typargumenten für generische Typen oder Methoden ist "Of" erforderlich. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 10 44 ConsoleApplication1
Fehler 5 Typ erwartet. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 10 50 ConsoleApplication1
Fehler 6 Der Name "Time" wurde nicht deklariert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 10 76 ConsoleApplication1
Fehler 7 Der Name "Application" wurde nicht deklariert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 14 26 ConsoleApplication1
Fehler 8 Der Name "olFolderInbox" wurde nicht deklariert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 14 76 ConsoleApplication1
Fehler 9 "If" muss mit einem entsprechenden "End If" abgeschlossen werden. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 19 21 ConsoleApplication1
Fehler 10 "If" muss mit einem entsprechenden "End If" abgeschlossen werden. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 20 25 ConsoleApplication1
Fehler 11 Methodenargumente müssen in Klammern stehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 22 41 ConsoleApplication1
Fehler 12 Ungültiges Zeichen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 22 58 ConsoleApplication1
Fehler 13 Methodenargumente müssen in Klammern stehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 35 21 ConsoleApplication1
Fehler 14 Ungültiges Zeichen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 35 31 ConsoleApplication1
Fehler 15 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 36 9 ConsoleApplication1
Fehler 16 Syntaxfehler. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 42 33 ConsoleApplication1
Fehler 17 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 43 29 ConsoleApplication1
Fehler 18 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 44 25 ConsoleApplication1
Fehler 19 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 45 21 ConsoleApplication1
Fehler 20 "End With" muss ein entsprechendes "With" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 46 17 ConsoleApplication1
Fehler 21 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 47 13 ConsoleApplication1
Fehler 22 Syntaxfehler. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 48 9 ConsoleApplication1
Fehler 23 "End Sub" muss ein entsprechendes "Sub" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 55 5 ConsoleApplication1
Also ich bin ein zimlicher neuling in diesem Programm und würde mich über unterstützung freuen:
Vielen Dank im Voraus
Julius
[Edit Biber] In Code-Tags gesetzt [/Edit]
also ich habe den Code bei visual basic eingegeben...
Module Module1
Sub Main()
End Sub
Sub application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem
Dim oAttachment As Attachment
strNewFolder = "C:\TEMP\" & Format(Date, "yyyymmdd")& "-" & Format(Time, "hhmm") & "_Scandaten"
On Error GoTo check_error
MkDir(strNewFolder)
Back1:
objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each Item In objPosteingang.Items
If Item.Class = olMail Then
objNewMail = Item
With objNewMail
If .SenderEmailAddress = "test@absender.de" Then
If .UnRead = True Then
intanlagen = .Attachments.Count
Debug.Print objNewMail & ": "; intanlagen
If intanlagen > 0 Then
For i = 1 To intanlagen
oAttachment = .Attachments.Item(i)
oAttachment.SaveAsFile(strNewFolder & "\" & oAttachment.FileName)
Next i
End If
End With
End If
Next Item
MsgBox("Alle Anhänge gespeichert.", vbOKOnly, "Verarbeitung fertig")
Exit Sub
check_error:
Debug.Print Err.Number; Err.Description
End if
Err.Clear()
Resume Next
End Sub
Next
End If
End If
End If
End With
End If
Next
End Sub
End Module
Fehler 1 Der Typ "MAPIFolder" ist nicht definiert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 7 31 ConsoleApplication1
Fehler 2 Der Typ "MailItem" ist nicht definiert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 8 27 ConsoleApplication1
Fehler 3 Der Typ "Attachment" ist nicht definiert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 9 28 ConsoleApplication1
Fehler 4 Zur Angabe von Typargumenten für generische Typen oder Methoden ist "Of" erforderlich. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 10 44 ConsoleApplication1
Fehler 5 Typ erwartet. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 10 50 ConsoleApplication1
Fehler 6 Der Name "Time" wurde nicht deklariert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 10 76 ConsoleApplication1
Fehler 7 Der Name "Application" wurde nicht deklariert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 14 26 ConsoleApplication1
Fehler 8 Der Name "olFolderInbox" wurde nicht deklariert. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 14 76 ConsoleApplication1
Fehler 9 "If" muss mit einem entsprechenden "End If" abgeschlossen werden. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 19 21 ConsoleApplication1
Fehler 10 "If" muss mit einem entsprechenden "End If" abgeschlossen werden. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 20 25 ConsoleApplication1
Fehler 11 Methodenargumente müssen in Klammern stehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 22 41 ConsoleApplication1
Fehler 12 Ungültiges Zeichen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 22 58 ConsoleApplication1
Fehler 13 Methodenargumente müssen in Klammern stehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 35 21 ConsoleApplication1
Fehler 14 Ungültiges Zeichen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 35 31 ConsoleApplication1
Fehler 15 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 36 9 ConsoleApplication1
Fehler 16 Syntaxfehler. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 42 33 ConsoleApplication1
Fehler 17 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 43 29 ConsoleApplication1
Fehler 18 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 44 25 ConsoleApplication1
Fehler 19 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 45 21 ConsoleApplication1
Fehler 20 "End With" muss ein entsprechendes "With" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 46 17 ConsoleApplication1
Fehler 21 "End If" muss ein entsprechendes "If" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 47 13 ConsoleApplication1
Fehler 22 Syntaxfehler. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 48 9 ConsoleApplication1
Fehler 23 "End Sub" muss ein entsprechendes "Sub" voranstehen. C:\Dokumente und Einstellungen\D - Chris\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\ConsoleApplication1\Module1.vb 55 5 ConsoleApplication1
Also ich bin ein zimlicher neuling in diesem Programm und würde mich über unterstützung freuen:
Vielen Dank im Voraus
Julius
[Edit Biber] In Code-Tags gesetzt [/Edit]
Hallo,
oder könntet ihr mir das fertige Programm villeicht an meine E-mail adresse senden (koenig.julius@t-online.de).
Aber wenn möglich nicht auf eine E-mail adresse festgelegt, sondern das sie den Anhang jeder anommenen E-mail adresse in dem Ordner
Email -anhänge auf dem Desktop abspeichert. Wenn ihr das hinbekommen würdet, wäre das echt total nett.
Vielen Dank
Julius
oder könntet ihr mir das fertige Programm villeicht an meine E-mail adresse senden (koenig.julius@t-online.de).
Aber wenn möglich nicht auf eine E-mail adresse festgelegt, sondern das sie den Anhang jeder anommenen E-mail adresse in dem Ordner
Email -anhänge auf dem Desktop abspeichert. Wenn ihr das hinbekommen würdet, wäre das echt total nett.
Vielen Dank
Julius
Hi!
ich bin jetzt schon seit einiger Zeit auf der Suche nach einem ähnlichen Script, finde aber überall nur solche Scripte wie dieses hier.
Und zwar empfange ich Faxe als E-Mail mit PDF-Anhang. Ich möchte lediglich die PDF in den Outlookordner schieben damit ich in der Schnellansicht das Fax sehen und die E-Mail löschen kann. Leider weiß ich nicht wie ich Anhang in einen Outlookordner extrahiere. Den Rest würde ich mir dann irgendwie selbst zusammenschieben können. Wär cool wenn jemand n Ratschlag hat.
BTW: Ich arbeite bereits mit Outlook 2010 falls es dort irgendwelche dramatischen Änderungen bezüglich VBS gibt.
ich bin jetzt schon seit einiger Zeit auf der Suche nach einem ähnlichen Script, finde aber überall nur solche Scripte wie dieses hier.
Und zwar empfange ich Faxe als E-Mail mit PDF-Anhang. Ich möchte lediglich die PDF in den Outlookordner schieben damit ich in der Schnellansicht das Fax sehen und die E-Mail löschen kann. Leider weiß ich nicht wie ich Anhang in einen Outlookordner extrahiere. Den Rest würde ich mir dann irgendwie selbst zusammenschieben können. Wär cool wenn jemand n Ratschlag hat.
BTW: Ich arbeite bereits mit Outlook 2010 falls es dort irgendwelche dramatischen Änderungen bezüglich VBS gibt.
Hallo JuliusLeo und ein nachträgliches Willkommen im Forum!
Ansonsten könntest Du es vielleicht mit der folgenden ungetesteten Version versuchen:
Grüße
bastla
ich habe den Code bei visual basic eingegeben...
... klingt verdächtig nach VB20xx, und nicht nach Outlook-VBA ...Ansonsten könntest Du es vielleicht mit der folgenden ungetesteten Version versuchen:
Sub application_NewMail()
Dim strNewFolder As String
Dim objPosteingang As MAPIFolder
Dim objNewMail As MailItem
Dim oAttachment As Attachment
Dim WshShell As Object
Dim strDesktop As String
Set WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
strNewFolder = strDesktop & "\" & Format(Date, "yyyymmdd")& "-" & Format(Time, "hhmm") & "_Scandaten"
On Error GoTo check_error
MkDir(strNewFolder)
objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each Item In objPosteingang.Items
If Item.Class = olMail Then
objNewMail = Item
With objNewMail
'If .SenderEmailAddress = "test@absender.de" Then 'um nur Mails eines bestimmten Absenders zu bearbeiten, Kommentar entfernen (und Absenderadresse anpassen ;-))
If .UnRead = True Then
intanlagen = .Attachments.Count
Debug.Print objNewMail & ": "; intanlagen
For i = 1 To intanlagen 'If davor eingespart: wenn intanlagen < 1 ist, wird die Schleife ohnehin nicht ausgeführt ...
oAttachment = .Attachments.Item(i)
oAttachment.SaveAsFile(strNewFolder & "\" & oAttachment.FileName)
Next
End If
'End If 'um nur Mails eines bestimmten Absenders zu bearbeiten, Kommentar entfernen
End With
End If
Next Item
MsgBox("Alle Anhänge gespeichert.", vbOKOnly, "Verarbeitung fertig")
Exit Sub
check_error:
Debug.Print Err.Number; Err.Description
Err.Clear()
Resume Next
End Sub
bastla