ich hoffe ihr könnt mir helfen, denn irgendwie stehe ich an.
Folgender Code hat wochenlang funktioniert und seit gestern, wo es eine Umstellung auf Outlook 2010 gab, funktioniert er leider nicht mehr.
Fehler beim Kompilieren: Benutzerdefenierter Typ nicht defeniert, kommt als Fehlermeldung.
Und der Code bleibt bei File As Scripting.File stehen.
Kurz zur Erklärung was der Code macht.
Der Code zieht vom C-Laufwerk einige Dateien, verschiebt diese in den Ordner "Gesendet" und packt mir diese Dateien in eine E-Mail und versendet diese.
Herzlichen Dank für eure Hilfe.
Grüße
Mani
Option Explicit
Private m_Send As String
Private m_Done As String
Private m_To As String
Private m_CC As String
Public Sub SendSingleFiles()
Dim Files As VBA.Collection
Dim File As Scripting.File
Dim Mail As Outlook.MailItem
Dim Atts As Outlook.Attachments
'Alle Dateien aus diesem Verzeichnis senden
m_Send = "C:/Users/KW1_Test/"
'Gesendete Dateien hierhin verschieben
m_Done = "C:/Users/KW1_Test/Gesendet/"
'Empfänger
m_To = "xyz@gmail.com"
Set Files = GetFiles
If Files.Count Then
Set Mail = Application.CreateItem(olMailItem)
Set Atts = Mail.Attachments
For Each File In Files
Atts.Add File.Path
File.Move m_Done & File.Name
Next
Mail.To = m_To
Mail.CC = m_CC
Mail.Subject = "KW1"
Mail.Body = "Sehr geehrte Herr xyz," & vbCrLf & vbCrLf & "im Anhang finden Sie die aktuelle(n) xyz." & vbCrLf & vbCrLf & _
"Mit freundlichen Grüßen" & "Dies ist eine automatisch generierte Nachricht." & vbCrLf & Date & "-" & Time
Mail.Send
Mail.OriginatorDeliveryReportRequested = True 'übermittlungsbestätigung
Mail.ReadReceiptRequested = True 'Lesebestätigung
End If
End Sub
Private Function GetFiles() As VBA.Collection
Dim Folder As Scripting.Folder
Dim Fso As Scripting.FileSystemObject
Dim Files As Scripting.Files
Dim File As Scripting.File
Dim List As VBA.Collection
Set List = New VBA.Collection
Set Fso = New Scripting.FileSystemObject
Set Folder = Fso.GetFolder(m_Send)
Set Files = Folder.Files
For Each File In Files
If (File.Attributes Or Hidden) File.Attributes Then
List.Add File
End If
Next
Set GetFiles = List
End Function