vbs - Textpassage aus Dokument an Email übergeben
Hallo Ihrs,
gibt es die Möglichkeit zu sagen, dass ein Textbereich von - bis an die Email übergeben werden soll
wie bekomme ich jetzt den Text aus meinem Dokument in den Body (wo ich momentan noch "Mit freundlichen Grüßen stehen habe")?
kann ich irgendwie sagen Nehme den Text von "Sehr geehrter" bis "Mit freundlichen Grüßen" und schreibe den als .HTMLBody?
gibt es die Möglichkeit zu sagen, dass ein Textbereich von - bis an die Email übergeben werden soll
Dim objOutlook As Outlook.Application
On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then
Err.Clear
Set objOutlook = CreateObject("Outlook.Application")
End If
If objOutlook Is Nothing Then
MsgBox "Konnte keine Verbindung zu Outlook herstellen!", 16, "Problem"
Exit Sub
End If
On Error GoTo 0
Dim Mail As MailItem
Set Mail = objOutlook.CreateItem(olMailItem)
Mail.Save
Dim strFileName As String
strFileName = Replace(Word.ActiveDocument, "doc", "pdf")
With Mail
.To = ""
.Subject = ""
.HTMLBody = "Mit freundlichen Grüßen"
End With
Set Anhang = Mail.Attachments
Anhang.Add (ActiveDocument.Path & "\Bewerbung.pdf")
If InStr(1, ActiveDocument.Range, "Lebenslauf", vbTextCompare) > 0 Then
Anhang.Add (ActiveDocument.Path & "\Data\Lebenslauf.pdf")
End If
If InStr(1, ActiveDocument.Range, "Zeugnisse", vbTextCompare) > 0 Then
Anhang.Add (ActiveDocument.Path & "\Data\Zeugnisse.pdf")
End If
Mail.Display
wie bekomme ich jetzt den Text aus meinem Dokument in den Body (wo ich momentan noch "Mit freundlichen Grüßen stehen habe")?
kann ich irgendwie sagen Nehme den Text von "Sehr geehrter" bis "Mit freundlichen Grüßen" und schreibe den als .HTMLBody?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116988
Url: https://administrator.de/contentid/116988
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo ShitzOvran (Thomas Mü ...)!
Erstelle in Word Deinen Email-Text und speichere es unter EMAIL.HTM ab. Lese in einen String ein und Splitte den Body. Oder so ähnlich?
Gruß Dieter
Erstelle in Word Deinen Email-Text und speichere es unter EMAIL.HTM ab. Lese in einen String ein und Splitte den Body. Oder so ähnlich?
Gruß Dieter
Hallo ShitzOvran,
hoffe, dass hilft Dir weiter:
Gruß Dieter
hoffe, dass hilft Dir weiter:
Dim Line As Object, Text As String, Body As Boolean
'.....
For Each Line In Word.ActiveDocument.Paragraphs
If InStr(1, Line.Range, "sehr geehrte", vbTextCompare) > 0 Then
Text = Line.Range: Body = True
ElseIf InStr(1, Line.Range, "mit freundlichen", vbTextCompare) > 0 Then
Text = Text & Line.Range: Exit For
ElseIf Body = True Then
Text = Text & Line.Range
End If
Next
'....
With Mail
.To = ""
.Subject = ""
.HTMLBody = Text
End With
'......
Gruß Dieter
Hallo ShitzOvran!
Also, im I-Explorer wird es mit Formaten korrekt angezeigt. Bleibt aber die Frage, ob es auch in Deinem Code mit Mail funktioniert?
Gruß Dieter
Also, im I-Explorer wird es mit Formaten korrekt angezeigt. Bleibt aber die Frage, ob es auch in Deinem Code mit Mail funktioniert?
Option Compare Text
Dim Fso As Object, mFile As Object, mPath As String
Dim Doc As Object, Line As Object, Body As Boolean, Text As String
Set Doc = ActiveDocument
For Each Line In Doc.Paragraphs
If Line.Range Like "*sehr geehrte*" Then
Body = True
ElseIf Line.Range Like "*mit freundlichen*" Then
Body = False
ElseIf Body = False Then
Line.Range = ""
End If
Next
mPath = Doc.Path & "\Mail.mht"
Doc.SaveAs FileName:=mPath, FileFormat:=wdFormatWebArchive
'Doc.Close
Set Fso = CreateObject("Scripting.FileSystemObject")
Set mFile = Fso.OpenTextFile(mPath)
Text = mFile.ReadAll: mFile.Close: Fso.DeleteFile mPath
With Mail
.To = ""
.Subject = ""
.HTMLBody = Text
End With
Gruß Dieter
Hallo ShitzOvran,
freut mich, dass es letztendlich doch noch geklappt hat
Gruß Dieter
freut mich, dass es letztendlich doch noch geklappt hat
Gruß Dieter