Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Anhang der Email automatisch beifügen
#1
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!
Antworten Top
#2
Da funkt evtl. eine andere Library rein, definiere die Variable "explizit", also als erstes
Code:
Dim f As Scripting.Folder
[-] Folgende(r) 1 Nutzer sagt Danke an Warkings für diesen Beitrag:
  • ngassanov
Antworten Top
#3
oder du schaust dir das Beispiel mal an 
dort wird ein wenig anders deklariert
https://docs.microsoft.com/de-de/office/...s-property
[-] Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:
  • ngassanov
Antworten Top
#4
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
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • ngassanov
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste