Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mail-Aufbereitung mit anderer Signatur

Mail-Aufbereitung mit anderer Signatur
18.10.2021 17:04:03
flo4711
Hallo,
ich hätte da eine Anfrage zu einem Makro, das eine Mail auf Basis eines ".msg-Templates" erstellt und die aktuelle Excel-Datei als Anhang mit dranhängt.
Das funktioniert auch (fast) wie gewünscht.
Im folgenden erstmal das Makro:

Sub Mail_aufbereiten_mit_Anlage()
Dim strDatum As String
Dim strPathName As String
Dim objMailItem As Object
Dim objMailOLApp As Object
Dim objAttachments As Object
Dim strAnlage As String
On Error Resume Next
strDatum = Format(Now(), "dd.mm.yyyy")
'Pfade für die Anlagen aufbereiten
strAnlage = ThisWorkbook.Path & "\" & ThisWorkbook.Name
' E-Mail aufbereiten
strPathName = "J:\Gruppen\Controlling\Mail-Vorlagen\Lieferrückstand.msg"
Set objMailOLApp = CreateObject("Outlook.Application")
Set objMailItem = objMailOLApp.CreateItemFromTemplate(strPathName)
Set objAttachments = objMailItem.Attachments
With objMailItem
.Display
.Subject = .Subject & " " & strDatum
objAttachments.Add strAnlage
End With
Set objAttachments = Nothing
Set objMailItem = Nothing
Set objMailOLApp = Nothing
End Sub

Das Mail in diesem Bsp. wird auf Basis der "Lieferrückstand.msg" ein E-Mail erstellt und zwar mit dem dort hinterlegten Body-Text, allen Empfängern und meiner eingestellten Standard Mail-Signatur.
Hier komme ich zum Problem:
Ich würde gerne eine andere Signatur hierfür verwenden.

Signature = Environ("appdata") & "\Microsoft\Signatures\intern2.htm"
Signature = CreateObject("Scripting.FileSystemObject").GetFile(Signature).OpenAsTextStream(1, -2).ReadAll
Mit obigem Code bekomme ich das auch hin (nur ein Problem mit der beinhalteten Grafik, das ich erstmal noch vernachlässigen würde) ... allerdings habe ich dann beide Signaturen drin.
Meine Frage also: kann ich ein E-Mail-Template verwenden OHNE dass hier automatisch meine Standard-Signatur mit erstellt wird?
Gruß
Gode

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail-Aufbereitung mit anderer Signatur
18.10.2021 17:12:33
flo4711
Nachtrag:
Zum Hintergrund, warum ich kein neues Mail erstelle sondern auf ein Template zurückgreife:
Nach diesem Schema werden bei uns sehr viele Auswertungen an unterschiedlichtse Empfänger verteilt, die sich natürlich fluktuationsbedingt auch immer mal wieder ändern.
Hier bleibt dann der Makro-Code gleich und ich passe nur die Empfänger im Template an. Ist für mich leichter wartbar als die Empfänger bzw. immer direkt im Makro zu füllen (wir haben Auswertungen, die über 60 Empfänger beinhalten!)
Sollte es keinen Anderen Weg geben werde ich das evtl. umstellen.
Gruß
Gode
Anzeige
AW: Mail-Aufbereitung mit anderer Signatur
19.10.2021 08:21:18
Pierre
Hallo Flo,
ich kenne mich auf dem Gebiet nicht aus, aber kannst du in deinem "Template" nicht die Signatur komplett raus lassen und sie, wie du es oben machst, dann zusätzlich einfügen?
Gruß Pierre
AW: Mail-Aufbereitung mit anderer Signatur
19.10.2021 09:01:36
flo4711
Hallo Pierre,
die Signatur ist im Template nicht mit drin.
D.h. die wird von Outlook wohl automatisch mit angehängt (im Prinzip genauso, als ob ich in Outlook direkt ein neues Mail verfasse).
Und genau darum geht's mir ... dieses "automatische anhängen" der Standard-Signatur irgendwie im Makro zu verhindern.
Gruß
Gode
AW: Mail-Aufbereitung mit anderer Signatur
19.10.2021 09:09:48
Pierre
Hallo Flo,
vielleicht hilft dir das hier weiter:

https://www.mailhilfe.de/beitrag-bei-vorlagen-und-formulare-die-verwendung-der-signatur-verhindern-3151-html

Automatische Signatur deaktivieren bei Nutzung einer Vorlage per Registry!
Man müsste Outlook ja von der Logik her sagen: Wenn Vorlage genutzt wird, dann keine automatische Signatur einfügen. Wenn keine Vorlage genutzt wird, dann automatische Signatur hinzufügen.
Keine Ahnung, ob sowas per Makro machbar ist (theoretisch würde ich vermuten, ja). Aber wie gesagt, da kenne ich mich absolut nicht aus.
Deswegen, vielleicht hilft dir der Link weiter.
Gruß Pierre
Anzeige
AW: Mail-Aufbereitung mit anderer Signatur
20.10.2021 09:24:35
flo4711
Hallo René,
ich habe mir deinen verlinkten Beitrag mal angeschaut.
Leider scheiterte ein kleiner Test bereits daran, dass bei mir in der Registry dieser Wert gar nicht vorkommt.
Wir haben Office 360 (offline) im Einsatz.
Trotzdem nochmal vielen Dank für deine Tipps!
Gruß
Gode
AW: Mail-Aufbereitung mit anderer Signatur
19.10.2021 09:14:52
mumpel
Hallo!
Ich würde nicht das Template verwenden, sondern eine komplett neue Email erstellen. Den Standard-Text kannst Du ja ebenfalls per VBA erstellen.
Dass das Bild in der Signatur nicht mit reinkommt könnte am Format liegen. Wenn das Template eine Nur-Text-Mail erstellt werden alle Bilder aus dem Emailtext (Body) entfernt.
Entferne mal die Zeile "On Error Resume Next", sonst werden eventuelle Fehler nicht angezeigt.
Gruß, René
Anzeige
AW: Mail-Aufbereitung mit anderer Signatur
19.10.2021 09:31:06
flo4711
Hallo René,
das Template erstellt eine html-Mail, daran kann es also denke ich nicht liegen.
Wie oben geschrieben finde ich halt die Wartbarkeit, grade im Bereich der Empfänger, beim Template sehr viel besser und kann ggf. auch mal von einem nicht vba- affinen Sachbearbeiter durchgeführt werden.
Wie gesagt, falls es mit der bestehenden Template basierten Umsetzung keinen Lösungsansatz gibt, werde ich den Gedanken nochmals aufgreifen.
Gruß
Gode
AW: Mail-Aufbereitung mit anderer Signatur
20.10.2021 10:55:59
flo4711
Hallo,
ich habe jetzt für mich eine brauchbare Lösung gefunden.
Ich bereite den HTMLBody neu auf und zwar ohne Standard-Signatur:

.HTMLBody = Left(.HTMLBody, InStr(1, .HTMLBody, "Mit freundlichen ", 1) - 1) & vbNewLine & vbNewLine & Signature
Gruß Gode
Anzeige
AW: Mail-Aufbereitung mit anderer Signatur
20.10.2021 11:10:02
flo4711
sorry, so war das natürlich nicht nachvollziehbar. Daher der Vollständigkeit halber nochmal das komplette Makro:

Public Sub Mail_aufbereiten_mit_Anlage()
Dim strDatum As String
Dim strPathName As String
Dim objMailItem As Object
Dim objMailOLApp As Object
Dim objAttachments As Variant
Dim strAnlage As String
Dim Signature As String
On Error Resume Next
strDatum = Format(Now(), "dd.mm.yyyy")
'Pfade für die Anlagen aufbereiten
strAnlage = ThisWorkbook.Path & "\" & ThisWorkbook.Name
' E-Mail aufbereiten
strPathName = "J:\Gruppen\Controlling\Mail-Vorlagen\Lieferrückstand.msg"
Signature = Environ("appdata") & "\Microsoft\Signatures\intern.htm"
Signature = CreateObject("Scripting.FileSystemObject").GetFile(Signature).OpenAsTextStream(1, -2).ReadAll
Set objMailOLApp = CreateObject("Outlook.Application")
Set objMailItem = objMailOLApp.CreateItemFromTemplate(strPathName)
Set objAttachments = objMailItem.Attachments
With objMailItem
.Display
.Subject = .Subject & " " & strDatum
.HTMLBody = Left(.HTMLBody, InStr(1, .HTMLBody, "Mit freundlichen ", 1) - 1) & vbNewLine & vbNewLine & Signature
objAttachments.Add strAnlage
End With
Set objAttachments = Nothing
Set objMailItem = Nothing
Set objMailOLApp = Nothing
End Sub
Gruß
Gode
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige