sokratonis
Goto Top

VBA Outlook - Automatisierte Anhänge - Script erweitern

Hallo Leute,

ich würde mein Script:

Sub AnlagenRewe(olMail As MailItem)

Dim att As Attachment, fso As Object, ziel As String, ziel1 As String, ziel2 As String,

Set fso = CreateObject("Scripting.FilesystemObject")

ziel1 = "T:\"
ziel2 = "T:\Fehler"

If olMail.Attachments.Count > 0 Then
If Not fso.FolderExists(ziel1) Then
MsgBox "Das primäre Ziel ist nicht verfügbar. Sekundäres Ziel wird angewählt. Administrator kontaktieren.", vbExclamation
If fso.FolderExists(ziel2) Then
ziel = ziel2
MsgBox "Die Datei wurde erfolgreich im sekundären Ziel gespeichert."
Exit Sub
Else
MsgBox "Das sekundäre Ziel ist nicht erreichbar. Administrator kontaktieren. Die Email wird nun geöffnet.", vbCritical
olMail.Display
Exit Sub
End If
Else
ziel = ziel1
End If
For Each att In olMail.Attachments
att.SaveAsFile ziel & "\" & att.FileName
Next
MsgBox "Die Datei wurde erfolgreich im primären Ziel T:\ gespeichert."
Else
MsgBox "Es ist kein Anhang vorhanden. Die E-Mail wird nun geöffnet.", vbInformation
olMail.Display
End If
End Sub

gern erweitern.

Ist es möglich, dass mir die Massagebox auch den Dateinamen ausgibt?
Ist es möglich, dass mir die Massagebox die Anzahl der gespeicherten Dateien ausgibt für den aktuellen Tag?
Ist es möglich, dass mir der Dateiname zusätzlich in eine -meinetwegen- Textdatei gespeichert wird (am besten mit Zeitstempel)?

Content-ID: 260782

Url: https://administrator.de/contentid/260782

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

114757
Lösung 114757 22.01.2015, aktualisiert am 03.02.2015 um 12:40:57 Uhr
Goto Top
Lern erst mal die Formatierungen hier im Forum zu nutzen, damit sich hier nicht erst jemand den Code "zurechtrücken" muss damit man ihn einigermaßen lesen kann.

'Öffentliche Variable die die Anzahl der Anlagen des Tages zwischenspeichert  
Dim intDayCount as Integer

Sub AnlagenRewe(olMail As MailItem)
	Dim att As Attachment, fso As Object, ziel As String, ziel1 As String, ziel2 As String, allAttachments As String
	Set fso = CreateObject("Scripting.FilesystemObject")  
	
	'Logfile  
	Const LOGFILE = "C:\temp\logfile.txt"  
	ziel1 = "T:\"  
	ziel2 = "T:\Fehler"  
	
	
	If olMail.Attachments.Count > 0 Then
		If Not fso.FolderExists(ziel1) Then
			MsgBox "Das primäre Ziel ist nicht verfügbar. Sekundäres Ziel wird angewählt. Administrator kontaktieren.", vbExclamation  
			If fso.FolderExists(ziel2) Then
				ziel = ziel2
				MsgBox "Die Datei wurde erfolgreich im sekundären Ziel gespeichert."  
				Exit Sub
			Else
				MsgBox "Das sekundäre Ziel ist nicht erreichbar. Administrator kontaktieren. Die Email wird nun geöffnet.", vbCritical  
				olMail.Display
				Exit Sub
			End If
		Else
			ziel = ziel1
		End If
		For Each att In olMail.Attachments
			att.SaveAsFile ziel & "\" & att.FileName  
			'alle Attachments in einem String zusammenfassen  
			allAtachments = allAttachments & att.Filename & vbNewLine
		Next
		intDayCount = intDayCount + olMail.Attachments.Count
		'Ausgabe der gespeicherten Dateien  
		MsgBox "Die Datei(en) " & vbNewLine & allAttachments & vbNewline & "wurde(n) erfolgreich im primären Ziel T:\ gespeichert." & vbNewLine & "Heute wurden insgesamt schon " & intDayCount & " Anlagen gespeichert"  
		'Schreibe die gespeicherten Anlagen in ein Logfile  
		fso.OpenTextFile(LOGFILE,8).WriteLine "Am " & Now() & " wurden folgende Attachments gespeichert:" & vbNewLine & "=======================" & vbNewLine  
	Else
		MsgBox "Es ist kein Anhang vorhanden. Die E-Mail wird nun geöffnet.", vbInformation  
		olMail.Display
	End If
End Sub
Gruß jodel32
114757
Lösung 114757 29.01.2015, aktualisiert am 03.02.2015 um 12:40:55 Uhr
Goto Top
Den Beitrag dann bitte noch auf gelöst setzen.
sokraTonis
sokraTonis 03.02.2015 um 12:41:09 Uhr
Goto Top
Danke