Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook)
Hallo,
Wir würden gerne nur bestimmte Email Anhänge speichern.
Mit diesem Script unten klappt es zwar ganz gut aber nicht perfekt.
Die Mitarbeiter möchten nur die PDF oder TXT Datei speichern die Sie erhalten und nicht die Firmenlogos in der Email.
Könntet ihr mir dabei bitte helfen. Danke für eure Mühe
Public Sub SaveAttachments()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem 'Object
Dim objAttachments As Outlook.Attachments
Dim objSelection As Outlook.Selection
Dim i As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim strDeletedFiles As String
' Get the path to your My Documents folder
Dim enviro As String
enviro = CStr(Environ("%USERPROFILE%"))
strFolderpath = "Speicherort" & enviro
On Error Resume Next
' Instantiate an Outlook Application object.
Set objOL = CreateObject("Outlook.Application")
' Get the collection of selected objects.
Set objSelection = objOL.ActiveExplorer.Selection
' The attachment folder needs to exist
' You can change this to another folder name of your choice
' Set the Attachment folder.
strFolderpath = strFolderpath
' Check each selected item for attachments.
For Each objMsg In objSelection
Set objAttachments = objMsg.Attachments
lngCount = objAttachments.Count
If lngCount > 0 Then
' Use a count down loop for removing items
' from a collection. Otherwise, the loop counter gets
' confused and only every other item is removed.
For i = lngCount To 1 Step -1
' Get the file name.
strFile = objAttachments.Item(i).FileName
' Combine with the path to the Temp folder.
strFile = strFolderpath & strFile
' Save the attachment as a file.
objAttachments.Item(i).SaveAsFile strFile
Next i
End If
Next
ExitSub:
Set objAttachments = Nothing
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
End Sub
Wir würden gerne nur bestimmte Email Anhänge speichern.
Mit diesem Script unten klappt es zwar ganz gut aber nicht perfekt.
Die Mitarbeiter möchten nur die PDF oder TXT Datei speichern die Sie erhalten und nicht die Firmenlogos in der Email.
Könntet ihr mir dabei bitte helfen. Danke für eure Mühe
Public Sub SaveAttachments()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem 'Object
Dim objAttachments As Outlook.Attachments
Dim objSelection As Outlook.Selection
Dim i As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim strDeletedFiles As String
' Get the path to your My Documents folder
Dim enviro As String
enviro = CStr(Environ("%USERPROFILE%"))
strFolderpath = "Speicherort" & enviro
On Error Resume Next
' Instantiate an Outlook Application object.
Set objOL = CreateObject("Outlook.Application")
' Get the collection of selected objects.
Set objSelection = objOL.ActiveExplorer.Selection
' The attachment folder needs to exist
' You can change this to another folder name of your choice
' Set the Attachment folder.
strFolderpath = strFolderpath
' Check each selected item for attachments.
For Each objMsg In objSelection
Set objAttachments = objMsg.Attachments
lngCount = objAttachments.Count
If lngCount > 0 Then
' Use a count down loop for removing items
' from a collection. Otherwise, the loop counter gets
' confused and only every other item is removed.
For i = lngCount To 1 Step -1
' Get the file name.
strFile = objAttachments.Item(i).FileName
' Combine with the path to the Temp folder.
strFile = strFolderpath & strFile
' Save the attachment as a file.
objAttachments.Item(i).SaveAsFile strFile
Next i
End If
Next
ExitSub:
Set objAttachments = Nothing
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 319644
Url: https://administrator.de/forum/email-anhaenge-speichern-vb-script-aber-nur-bestimmte-dateitypen-outlook-319644.html
Ausgedruckt am: 25.04.2025 um 11:04 Uhr
4 Kommentare
Neuester Kommentar

Im Scriptkopf:
und um den Savebefehl eine If-Abfrage
Schluckauf
Set fso = CreateObject("Scripting.FileSystemObject")
if LCase(fso.GetExtensionName(strFile)) = "pdf" or LCase(fso.GetExtensionName(strFile)) = "txt" then
objAttachments.Item(i).SaveAsFile strFile
End if

Dann hast dus falsch umgesetzt! und den alten Save-Befehl ohne die IF-Abfrage drin gelassen :-P.