Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Outlook Attachments add *.txt

Forumthread: Outlook Attachments add *.txt

Outlook Attachments add *.txt
09.07.2018 11:26:44
Stefan
Hi Leute guten Tag,
Ich brauche Hilfe beim einfügen von einer Text Datei in Outlook die ständig ihren Namen ändert.Das heist, dass der Nutzer vo dem Senden eine Text Datei erstellt die da heist: 20180709153324_bla_bla.txt. Outlook habe ich den Pfad zugewiesen nur findet er diese .txt nicht, da sich ja immer die Zahl vorne ändert. Im Ordner ist auch immer nur eine Text Datei drin, sie wird nach versand rausgelöscht. Kann ich Outlook auch sagen, irgendeine Datei *.txt ? Z.B. D:\bla\bla\*.txt das geht so nämlich nicht.
Besten Dank für eure
stefan
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook Attachments add *.txt
09.07.2018 11:30:55
Torsten
Hi Stefan,
zeig mal den Code, den du bis jetzt hast.
Gruss Torsten
AW: Outlook Attachments add *.txt
09.07.2018 11:33:56
Oberschlumpf
Hi Stefan

Dim lstrPfadTxt As String
lstrPfadTxt = Dir(DeinPfad & "\" & "*.txt") 'findet im genannten Pfad nur eine txt-Datei, weil  _
ja nur 1 vorhanden ist
'für Outlook dann
.Attachement = lstrPfadTxt

den Outlook-Befehl musst du vllt anpassen, da ich jetzt einfach so geschrieben habe; vllt hab ich den einen oder anderen Befehl falsch geschrieben.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Outlook Attachments add *.txt
09.07.2018 11:58:00
Stefan
Hi Torsten, hi Oberschlumpf,
Danke euch, Torsten ich kann dir leider gerade kein code zeigen, bin unterwegs und schreibe über nen tab.
Oberschlumpf danke werde es heute abend glrich mal testen. Ich kann noch sagen, das ich das outlook app generieren benutze. Sorry für meine schwache antwort ich weis :))
Gruß Stefan
Anzeige
AW: Outlook Attachments add *.txt
09.07.2018 13:03:39
Stefan
Hab ihn doch noch gefunden!
Sub EMailZusammensetzen()
Dim olApp As Object
Dim AWS As String
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = "max.muster@test.de"
.Subject = "Test"
.Body = "Hallo" & vbCrLf & "Welt"
.Attachments.Add "C:\Temp\test1.jpg"
.Send
End With
End Sub
Beste Grüße Stefan
Anzeige
AW: Outlook Attachments add *.txt
09.07.2018 13:11:09
Torsten
Na dann zusammengefasst:

Sub EMailZusammensetzen()
Dim olApp As Object
Dim AWS As String
AWS = Dir(DeinPfad & "\" & "*.txt") 'findet im genannten Pfad nur eine txt-Datei, weil _
ja nur 1 vorhanden ist
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = "max.muster@test.de"
.Subject = "Test"
.Body = "Hallo" & vbCrLf & "Welt"
.Attachments.Add AWS
'.Display
.Send
End With
End Sub
Bei "Display" das Hochkomma rausnehmen und bei "Send" setzen, wenn du die Email vor dem Absenden noch anschauen willst.
Gruss Torsten
Anzeige
AW: Outlook Attachments add *.txt
09.07.2018 13:27:07
Torsten
Sorry, hatte sich ein kleiner Fehler eingeschlichen. Code konnte die Datei nicht finden.
Hier nochmal angepasst:

Sub EMailZusammensetzen()
Dim olApp As Object
Dim AWS As String, Pfad As String
Pfad = "Dein Pfad\"
AWS = Dir$(Pfad & "*.txt") 'findet im genannten Pfad nur eine txt-Datei, weil _
ja nur 1 vorhanden ist (hoffentlich!)
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = "max.muster@test.de"
.Subject = "Test"
.Body = "Hallo" & vbCrLf & "Welt"
.Attachments.Add Pfad & AWS
.Display
'.Send
End With
End Sub

Anzeige
AW: Cool besten Dank allen !!! Owt.
09.07.2018 13:31:43
Stefan
.
Anzeige
Anzeige

Infobox / Tutorial

Outlook Attachments: So fügst du *.txt-Dateien per VBA hinzu


Schritt-für-Schritt-Anleitung

Um eine Textdatei mit einer sich ändernden Bezeichnung in Outlook per VBA hinzuzufügen, kannst du folgende Schritte befolgen:

  1. VBA-Editor öffnen: Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.

  2. Neues Modul hinzufügen: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle Einfügen > Modul.

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub EMailZusammensetzen()
       Dim olApp As Object
       Dim AWS As String, Pfad As String
       Pfad = "D:\bla\bla\" ' Ändere den Pfad entsprechend
       AWS = Dir$(Pfad & "*.txt") ' Findet die *.txt Datei
       Set olApp = CreateObject("Outlook.Application")
       With olApp.CreateItem(0)
           .To = "max.muster@test.de"
           .Subject = "Test"
           .Body = "Hallo" & vbCrLf & "Welt"
           .Attachments.Add Pfad & AWS
           .Display ' Entferne das Hochkomma vor .Send, wenn du die E-Mail sofort senden willst
       End With
    End Sub
  4. Anpassungen vornehmen: Ändere den Pfad Pfad = "D:\bla\bla\" zu dem Ordner, in dem deine Textdatei gespeichert ist.

  5. Makro ausführen: Führe das Makro aus, um die E-Mail mit dem Anhang zu erstellen.


Häufige Fehler und Lösungen

  • Datei nicht gefunden: Wenn der Fehler auftritt, dass die Datei nicht gefunden wird, überprüfe den angegebenen Pfad und stelle sicher, dass sich nur eine .txt-Datei im angegebenen Verzeichnis befindet.

  • Falsche Methode verwendet: Stelle sicher, dass du .Attachments.Add korrekt verwendest. Ein häufiger Fehler ist, dass .Attachment anstelle von .Attachments.Add geschrieben wird.


Alternative Methoden

Falls du eine andere Methode zur Automatisierung von Outlook-Anhängen nutzen möchtest, kannst du die MailItem.Attachments.Add-Methode verwenden, um Anhänge zu einer E-Mail hinzuzufügen. Beispiel:

Dim mail As Object
Set mail = olApp.CreateItem(0)
mail.Attachments.Add "C:\Temp\deineDatei.txt"

Diese Methode kann zusätzlich in Kombination mit Excel-Daten verwendet werden, um personalisierte E-Mails zu erstellen.


Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie du die .Attachments.Add-Methode nutzen kannst, um eine Textdatei an eine E-Mail anzuhängen:

Sub BeispielMitTextdatei()
    Dim olApp As Object
    Dim Dateipfad As String
    Dateipfad = "D:\bla\bla\deineDatei.txt"

    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
        .To = "test@example.com"
        .Subject = "Hier ist deine Datei"
        .Body = "Bitte finde die angehängte Datei."
        .Attachments.Add Dateipfad
        .Send
    End With
End Sub

Tipps für Profis

  • Fehlerbehandlung einfügen: Integriere Fehlerbehandlungsroutinen in deinen Code, um unerwartete Fehler während der Ausführung zu vermeiden.

  • Verwende Variablen: Speichere häufig verwendete Werte (wie Pfade) in Variablen, um deinen Code übersichtlicher und wartungsfreundlicher zu gestalten.

  • E-Mail vor dem Senden anzeigen: Wenn du sicherstellen möchtest, dass alles korrekt ist, lasse die E-Mail mit .Display geöffnet, bevor du sie sendest.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Dateien gleichzeitig anhängen?
Du kannst eine Schleife verwenden, um durch alle .txt-Dateien im Verzeichnis zu iterieren und sie anzuhängen.

2. Funktioniert dieser Code auch in Excel 365?
Ja, der bereitgestellte Code funktioniert in Excel 365 sowie in anderen Versionen, die VBA unterstützen.

3. Was ist, wenn ich keine Outlook-Anwendung installiert habe?
Der Code funktioniert nur, wenn Outlook installiert und konfiguriert ist, da VBA auf die Outlook-Anwendung zugreift.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige