Wordtext als PDF-Anhang und Text in Outlook

Hallo liebe Experten,

ich kann aus einem Businessprogramm heraus Word-Briefe schreiben. Dabei werden Adresse, E-Mail direkt in Word übernommen.

Ich möchte nun gerne diesen Brief als PDF-Anhang über Outlook verschicken, sollte aber in das Textfeld von Outlook einen persönlichen Hinweis auf die Anlage schreiben (Sehr geehrte Frau Mustermann, in der Anlage erhalten Sie …)

Gibt es eine komfortable Lösung, dass Outlook die Email-Adresse und den Namen aus der Word-Datei holt und in den Text bzw. die Signatur einfügt? Ich könnte es in der Word-Datei schon einstellen, dass z. B. das erste Wort die Email-Adresse ist und danach die Anrede.

Ich würde es gerne für meine Kolleginnen möglichst einfach und fehlerminimierend einstellen.

Ach ja - wir verwenden Office 2007!

Ganz liebe Grüße
Karin

Hallo Karin,

ich kann aus einem Businessprogramm heraus Word-Briefe
schreiben. Dabei werden Adresse, E-Mail direkt in Word
übernommen.

wie läuft das ab? Du schreibst in dem Programm Text, speicherst das dann als Docx ab und dann öffnest du die Doc mit Word um sie zu mailen?

Blöde Frage, kann Word ein Dokument als PDF im Anhang von Outlook von sich aus versenden?

Gibt es eine komfortable Lösung, dass Outlook die
Email-Adresse und den Namen aus der Word-Datei holt und in den
Text bzw. die Signatur einfügt? Ich könnte es in der
Word-Datei schon einstellen, dass z. B. das erste Wort die
Email-Adresse ist und danach die Anrede.

? Dann steht also oben links im Dokument die mailadresse des Empfängers, danach die Anrede.
Ob das so toll aussieht. Zumindest würde ich extfarbe davon auf Hintergrundfarbe stellen.

Irgendwie habe ich noch nicht alles genau durchblickt was du da planst.

Gruß
Reinhard

Hallo mein lieber Excel-Guru Reinhard,

ich habe ein Business-Software, aus der heraus ich Word-Briefe schreibe (bzw. meine Kolleginnen). Um diese Word-Briefe zu schreiben, erstelle ich selbst Vorlagen mit Ersetzungscodes von der Business-Software. In Word ist dann ein bearbeitbarer Text ohne Seriendruckfelder etc.
Bisher haben wir diesen Text einfach ausgedruckt und verschickt, jetzt kommen aber zunehmend Internet-Anfragen, die wir gerne mit einem schönen Brief (mit Bildchen im Hintergrund etc.) beantworten wollen. Daher soll der Brief als PDF-Dokument verschickt werden.

Es geht natürlich, dass ich

  • in Word 2007 den Text als PDF speichere
  • die PDF mit Acrobat Reader öffne
  • die Datei als E-Mail-Anhang zu Outlook weitergebe
  • einen persönlichenn Text schreibe "Sehr geehrte Frau Mustermann, in der Anlage …
  • die E-Mail-Adresse - die ich in den Stammdaten schon hätte - eingebe
  • und verschicke.

Aber gerade E-Mail-Adresse eingeben und Text schreiben bzw. immer die Signatur persönlich anpassen wollte ich gerne umgehen - weil es einfach Zeit braucht und eine Fehlerquelle ist - und ich die Daten ja schon in einer digitalen Form vorliegen habe.

Also lieber Reinhard - hast du eine geniale VBA-Idee? Oder ein anderer Experte?

Ganz liebe Grüße
Karin

Also lieber Reinhard - hast du eine geniale VBA-Idee? Oder ein
anderer Experte?

Hallo Karin,

schau mal hier:

http://www.rondebruin.nl/sendmail.htm

ist zwar Excel, macht aber nix, kann ich ja auf Word umschreiben.
Da siehste was möglich ist mit Vba.

Insofern ist dein Problem sicher lösbar, ich muß nur EXAKT wissen was du willst.

Beim, zugegeben nur einmaligem lesen, deiner Zweitantwort habe ich noch paar ? diesbezüglich.

Gruß
Reinhard

Lieber Reinhard,

VBA ist der Wahnsinn und du bist mein Guru. Verlange nur bitte nie von mir, dass ich VBA kapiere (aber dafür bin ich mittlerweile ein totaler SVERWEIS- und SUMMENPRODUKT-Fan!!!)

Also, zu meinem Problem:

Nimm bitte an, es gibt eine Word-Datei in deren 1. Zeile eine E-Mail-Adresse steht. In der 2. Zeile steht ein Satz, der in etwa „Sehr geehrte Frau Mustermann,“ heisst. Ein paar Zeilen weiter ist weiterer Text. Die 1. & 2. Zeile ist weiße Schrift auf weißem Grund - also in der PDF später nicht erkennbar :smile:

Nun sollte die ganze Datei als PDF gespeichert werden (geht ja mit Word 2007 Hausmitteln) und zu Outlook 2007 als PDF-Anlage verschoben werden. Zusätzlich sollte in die Outlook-Empfänger-Zeile der Inhalt der ersten Zeile aus dem Word-Dokument geschrieben werden. Und in das Textfenster von Outlook sollte die 2. Zeile geschrieben werden sowie ein Text wie „in der Anlage erhalten Sie wie versprochen ihr persönliches Angebot. Herzliche Grüße …“

Und dann klicken wir nur noch auf Senden, freuen uns auf hoffentlich einen Auftrag und denken dankbar an dich.

Meinst du, du bekommst das irgendwie hin?

Liebe Grüße
Karin

Hallo Karin,

Nimm bitte an, es gibt eine Word-Datei in deren 1. Zeile eine
E-Mail-Adresse steht. In der 2. Zeile steht ein Satz, der in
etwa „Sehr geehrte Frau Mustermann,“ heisst. Ein paar Zeilen
weiter ist weiterer Text. Die 1. & 2. Zeile ist weiße Schrift
auf weißem Grund - also in der PDF später nicht erkennbar :smile:

also bei meinem Home & Student 2007 mußte ich von MS ein Tool herunterladen damit speichern als PDF klappt.

Probier mal den folgenden Code, anpassen mußt du die Empängeradresse und zweimal den Dateinamen.

Option Explicit
'
Sub tt()
Dim appOut As Object, appMail As Object
ActiveDocument.ExportAsFixedFormat OutputFileName:="C:\Test\kwpdftest2.pdf" \_
 , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= \_
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, \_
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, \_
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, \_
 BitmapMissingFonts:=True, UseISO19005\_1:=False
Set appOut = CreateObject("Outlook.Application")
Set appMail = appOut.CreateItem(0)
With appMail
 .To = "[email protected]"
 .CC = ""
 .BCC = ""
 .Subject = "TestHuhu"
 .Body = "Huhu"
 .Attachments.Add "C:\Test\kwpdftest2.pdf"
 .Display
 '.Send
End With
End Sub

Gruß
Reinhard

1 „Gefällt mir“

Zum Gruße,

also bei meinem Home & Student 2007 mußte ich von MS ein Tool
herunterladen damit speichern als PDF klappt.

Der pdf-Export ist auch bei Home & Student ab Servicepack 2 mittlerweile integriert.

Gruß TL

Hallo Karin,

ggfs. unten im Code arrWort(0) mit arrWort(1) umwechseln falls das falschrum ist.

Sub tt()
Dim appOut As Object, appMail As Object, Wort As Range, arrWort(1) As String
Dim Anz As Integer
For Each Wort In ActiveDocument.Words
 If InStr(Wort, Chr(13)) = 0 Then
 arrWort(Anz) = Wort
 Anz = Anz + 1
 If Anz = 2 Then Exit For
 End If
Next Wort
ActiveDocument.ExportAsFixedFormat OutputFileName:="C:\Test\kwpdftest2.pdf" \_
 , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= \_
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, \_
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, \_
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, \_
 BitmapMissingFonts:=True, UseISO19005\_1:=False
Set appOut = CreateObject("Outlook.Application")
Set appMail = appOut.CreateItem(0)
With appMail
 .To = arrWort(0)
 .CC = ""
 .BCC = ""
 .Subject = "TestHuhu"
 .Body = arrWort(1)
 .Attachments.Add "C:\Test\kwpdftest2.pdf"
 .Display
 '.Send
End With
End Sub

Gruß
Reinhard

1 „Gefällt mir“

also bei meinem Home & Student 2007 mußte ich von MS ein Tool
herunterladen damit speichern als PDF klappt.

Der pdf-Export ist auch bei Home & Student ab Servicepack 2
mittlerweile integriert.

Hallo Tengri,

danke für die Information.

Gruß
Reinhard

Hallo Reinhard,

ganz herzlichen Dank schon mal für deine Mühe!!!

Der Code funktioniert, dass er automatisch die PDF-Datei erstellt und zu Outlook weiter gibt.

Denkst du, es wäre noch möglich, dass als Email-Empfänger die erste Zeile des Word-Dokumentes eingetragen wird und als Body die zweite Zeile des Word-Dokumentes?

Das wäre dann die perfekte Lösung für mich!

Viele liebe Grüße
Karin

Hallo Reinhard,

der Code funktioniert fast perfekt :smile:

Wenn ich z. B. die Email-Adresse [email protected] in der 1. Zeile stehen habe, überträgt der Code als Email-Empfänger ErikaMustermann und als Body @

Ist die Email-Adresse [email protected] ist er Email-Empfänger Erika und als Body „.“

Ich kann gerne die Email-Adresse und die Anrede z. B. in Anführungszeichen stellen oder sie mit „;“ trennen, falls es hilfreich ist.

Liebe Grüße
Karin

Wenn ich z. B. die Email-Adresse [email protected] in der

  1. Zeile stehen habe, überträgt der Code als Email-Empfänger
    ErikaMustermann und als Body @

Ist die Email-Adresse [email protected] ist er
Email-Empfänger Erika und als Body „.“

Ich kann gerne die Email-Adresse und die Anrede z. B. in
Anführungszeichen stellen oder sie mit „;“ trennen, falls es
hilfreich ist.

Hallo Karin,

nein, du brauchst da nichts anders zu machen, das macht der Code schon.

Gegenfrage, weiße Schriftfarbe ist so ne Sache, wenn da jmd. in der PDF Alles markiert, k.A. ob das geht, sieht er sie dann die zwei Zeilen?

Wärs nicht besser, Vba liest die beiden Zeilen aus, löscht sie dann, erstellt die PDF und fügt die zwei Zeilen wieder ein?

Ich hatte nur kurz getestet. Erstelle mal eine Doc und lade sie hoch mit FAQ:2606
Es ist immer besser ich kann meinen Code an den gleichen Dokumenten austesten die bei dir vorliegen.

Sonstiger Text der Doc ist wurscht, ggfs. =Rand() :smile:

Gruß
Reinhard

1 „Gefällt mir“

Hallo Reinhard,

ich habe dir einmal eine Beispiel-Datei gemailt. Bei den Seiten in der FAQ kann man ja wohl nur Bilder hochladen. Ich hoffe, das ist ok so.

Wenn man die PDF markiert und dann mit Copy&amp:stuck_out_tongue_winking_eye:aste woanders einfügt, sieht man die Email-Adresse und die Anrede. Fände ich zwar nicht so schlimm, aber ist natürlich noch schöner, wenn die beiden Zeilen nicht zu sehen sind.

Wenn dein Makro die beiden Zeilen vor der Umwandlung in die PDF-Datei löscht, brauchen sie aber hinterher dort nicht mehr eingefügt werden. Außer du brauchst sie dann dort nochmal für das Einfügen in die Email.

… dir mal einen Kaffee reiche! Kuchen folgt!

Liebe Grüße

Karin

Hallo karin,

ich habe dir einmal eine Beispiel-Datei gemailt. Bei den
Seiten in der FAQ kann man ja wohl nur Bilder hochladen. Ich
hoffe, das ist ok so.

tsts, wohl nicht alle probiert :smile:, rapidshare macht das.

Wenn dein Makro die beiden Zeilen vor der Umwandlung in die
PDF-Datei löscht, brauchen sie aber hinterher dort nicht mehr
eingefügt werden. Außer du brauchst sie dann dort nochmal für
das Einfügen in die Email.

Nein, das makro liest sie ja ein, ab jetzt werden sie danach gelöscht.

Word ist da seltsam *find*, es trennt ein Wort am @-Zeichen. Naja, ist halt so. Ich habe den Code geändert.

Oben im Code siehst du eine If-Schleife, sie überprüft ob in der ersten zeile ein Textstring steht der ein @ beinhaltet, wenn du das nicht brauchst, lösche die komplette If-Abfrage.

… dir mal einen Kaffee reiche! Kuchen folgt!

Verführ mich nicht, komme ich erst mal auf den Geschmack vernasche ich alles was da ist :smile: Ups, ich meinte NUR den Kuchen *gg*

Und, Frau Mustermann wird sehr erstaunt sein wenn sie eine Mail von dir kriegt wo im Betreff steht „TestHuhu“ *hihi*

Sub tt()
Dim appOut As Object, appMail As Object, Wort As Range, arrWort(1) As String
Dim W As Integer
If InStr(ActiveDocument.Sentences(1), "@") = 0 Then
 MsgBox "in der ersten Zeile ist kein @"
 Exit Sub
End If
For W = 0 To 1
 arrWort(W) = Replace(ActiveDocument.Sentences(1), Chr(13), "")
 ActiveDocument.Sentences(1).Delete
Next W
ActiveDocument.ExportAsFixedFormat OutputFileName:="C:\Test\kwpdftest2.pdf" \_
 , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= \_
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, \_
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, \_
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, \_
 BitmapMissingFonts:=True, UseISO19005\_1:=False
Set appOut = CreateObject("Outlook.Application")
Set appMail = appOut.CreateItem(0)
With appMail
 .To = arrWort(0)
 .CC = ""
 .BCC = ""
 .Subject = "TestHuhu"
 .Body = arrWort(1)
 .Attachments.Add "C:\Test\kwpdftest2.pdf"
 .Display
 '.Send
End With
End Sub

Gruß
Reinhard

1 „Gefällt mir“

Liebster Reinhard,

gaaaaaaaaanz herzlichen Dank schon mal!!!

Jaja - du kennst die Frauen, ein klitzekleines „Aber“ hätte ich noch …

könntest du das Makro ändern, dass der Zeileninhalt der ersten beiden Zeilen zwar gelöscht ist, die Zeilen selber aber nicht. Denn dann stimmt die Formatierung nicht mehr überein bzw. es irritiert etwas, wenn man den Brieftext gerade noch so auf ein Blatt bringt - und nach dem Versand sind unten noch 2 Zeilen Platz.

Aber du bist wirklich mein VBA-Held!!!

Vielen Dank nochmals!!!

Karin

Hallo karin,

Jaja - du kennst die Frauen, ein klitzekleines „Aber“ hätte
ich noch …

nicht unerwartet, war mir schon klar daß da noch ein Wunsch oder ein Aber kommt, ich „kenne“ ja Frauen :smile:)
Trotz Aufwuchses mit zwei Schwestern haperts bei mir am Verstehen, naja , bin da nicht alleine *gg* Aber das ist ein völlig andres Thema.

könntest du das Makro ändern, dass der Zeileninhalt der ersten
beiden Zeilen zwar gelöscht ist, die Zeilen selber aber nicht.
Denn dann stimmt die Formatierung nicht mehr überein bzw. es
irritiert etwas, wenn man den Brieftext gerade noch so auf ein
Blatt bringt - und nach dem Versand sind unten noch 2 Zeilen
Platz.

Ich weiß zwar nicht was da stört wenn unten zwei Leerzeilen sind.
Bei Word-Vba bin leider nicht so fit, reicht es wenn ich die beiden oberen ZeilenInhalte durch ein Leerzeichen ersetze?

Gruß
Reinhard

Aber du bist wirklich mein VBA-Held!!!

Vielen Dank nochmals!!!

Karin

Lieber Reinhard,

durch Leerzeichen ersetzen wäre perfekt!

Liebe Grüße
Karin

… die einen großen Bruder hat - und Männer vielleicht deswegen für meistens durchschaubar hält :wink:)))))

Hallo Reinhard,

ich habe herausgefunden, dass ich nach Body = arrWort(1) mit & „in der Anlage erhalten Sie …“ noch einen weiteren Text einfügen kann - aber wie kann ich eine Zeilenschaltung einfügen?

Viiielen Dank!!!

Karin

ich habe herausgefunden, dass ich nach Body = arrWort(1) mit &
„in der Anlage erhalten Sie …“ noch einen weiteren Text
einfügen kann - aber wie kann ich eine Zeilenschaltung
einfügen?

Moin Karin,

Option Explicit
'
Sub PDFToOL()
Dim appOut As Object, appMail As Object, Wort As Range, arrWort(1) As String
Dim W As Integer, Inhalt As String
If InStr(ActiveDocument.Sentences(1), "@") = 0 Then
 MsgBox "in der ersten Zeile ist kein @"
 Exit Sub
End If
For W = 0 To 1
 arrWort(W) = Replace(ActiveDocument.Sentences(1), Chr(13), "")
 ActiveDocument.Sentences(1).Delete
Next W
ActiveDocument.ExportAsFixedFormat OutputFileName:="C:\Test\kwpdftest2.pdf" \_
 , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= \_
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, \_
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, \_
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, \_
 BitmapMissingFonts:=True, UseISO19005\_1:=False
Set appOut = CreateObject("Outlook.Application")
Set appMail = appOut.CreateItem(0)
Inhalt = arrWort(1) & vbLf
Inhalt = "in der Anlage erhalten Sie ..." & vbLf
Inhalt = Inhalt & "Wie wir es telefonisch besprochen haben können Sie jetzt..." & vbLf
Inhalt = Inhalt & "Wir bedanken uns für ihre Unterstützung und ..." & vbLf & vbLf
Inhalt = Inhalt & "Mit freundlichen Grüßen." & vbLf
Inhalt = Inhalt & "Karin Musterfrau"
With appMail
 .To = arrWort(0)
 .CC = ""
 .BCC = ""
 .Subject = "TestHuhu"
 .Body = Inhalt
 .Attachments.Add "C:\Test\kwpdftest2.pdf"
 .Display
 '.Send
End With
End Sub

Gruß
Reinhard

1 „Gefällt mir“

Hallo Reinhard,

vielen Dank für deine Mühe!!!

Komischerweise kommt im Text jetzt nicht mehr die Anrede. Aber macht nichts, ich nehme den vorigen Code und stelle die beiden ersten Zeilen einfach auf Schriftgröße 1. Und wie ich einen weiteren Text nach der Anrede einfügen kann, hab ich ja im neuen Code gesehen.

Viiiiielen Dank nochmal!!!

Karin