Clever-Excel-Forum

Normale Version: Anhang der Email automatisch beifügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe mit dem folgenden Code massive Probleme (obwohl ich selber geschrieben habe, aber läuft nicht):

Dim fso As New FileSystemObject
Dim f As Folder
Dim fld As Files
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Dim strAttachment As String
Dim strPfad As String
Dim fl As file

strPfad = "Y:\EW\BPM\G_Gemeinsam\Projekte\HKN\Newsletter\Reports"

Set olApp = Outlook.Application
Set objMail = olApp.CreateItem(olMailItem)

Set f = fso.GetFolder(strPfad)
Set fld = f.Files


For Each fl In fld

If Left(fl.Name, 8) = Date Then

strAttachment = "Y:\EW\BPM\G_Gemeinsam\Projekte\HKN\Newsletter\Reports\fl"

End If

Next


If Dir(strAttachment) = "" Then
MsgBox "Die Datei " & strPfad & " existiert nicht. "
Exit Sub

End If

With objMail
.To = " "
.Bcc = "; "
.Subject = ""
.Body = ""
.Display

With .Attachments
  .Add strAttachment
 End With
End With


ich will automatisch der Email einen Anhang beifügen. Die beizufügende Datei ändert sich aber jeden Tag(vorne wird das Datum im Format yyyymmdd hinzugefügt). Und ich will immer die aktuelle Datei der Email beifügen. 

Wenn ich aber diesen code ausführe, kommt immer wieder die Fehlermeldung "Typenunverträglich" und wird die Zeile (Set f = fso.GetFolder(strPfad)) gelb markiert.

Lange habe ich versucht, den Fehler zu beheben, leider war nicht erfolgreich. Deswegen wende ich mich an das Forum.

Über nützliche Hinweise würde ich mich sehr freuen.

Bereits jetzt vielen Dank im Voraus!

Bleibt gesund!
Da funkt evtl. eine andere Library rein, definiere die Variable "explizit", also als erstes
Code:
Dim f As Scripting.Folder
oder du schaust dir das Beispiel mal an 
dort wird ein wenig anders deklariert
https://docs.microsoft.com/de-de/office/...s-property
Hallo,

zuerst: Ist das ein Excel- oder Outlook-VBA Code?

Um die Datei von heute zu finden, schlage ich diesen Code vor:

Code:
Sub T_11()
Const Pfad As String = '"Y:\EW\BPM\G_Gemeinsam\Projekte\HKN\Newsletter\Reports"
Dim FSO As Object: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim Tag As Date

If Not FSO.DriveExists("Y") Then Exit Sub

If FSO.FolderExists(Pfad) Then Set FLD = FSO.GetFolder(Pfad)

For Each f In FLD.Files
    If Left(f.Name, 3) = "202" Then
        Tag = VBA.DateSerial(Left(f.Name, 4), Mid(f.Name, 5, 2), Mid(f.Name, 7, 2))
        If Tag = Date Then Debug.Print f.Name
    End If
Next f
End Sub

mfg