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

Excel-Makro: Mail erstellen ohne Signatur

Forumthread: Excel-Makro: Mail erstellen ohne Signatur

Excel-Makro: Mail erstellen ohne Signatur
06.10.2015 12:47:12
HuberFranz
Hallo zusammen!
Ich versuche schon länger aus einem Excel-Makro eine Outlook-Mail anhand einer auf der Festplatte abgelegten Mail-vorlage zu erstellen und direkt an die in Excel hinterlegten/ausgewählten Empfänger zu senden. soweit funktioniert das Ganze auch bereits. Das Einzige Problem ist derzeit noch, dass Outlook meint bei jeder Mail die Standard-Signatur anhängen zu müssen. Komischerweise ist das nicht der Fall, wenn die Mail direkt versendet wird (ohne Anzeigen der Mail). Wenn die Mail angezeigt wird scheitere ich jedoch an der eingefügten Signatur. Die Mail sollte aber in jedem Fall genau 1:1 wie gespeichert versendet/angezeigt werden (z.B. für Testzwecke oder als Vorschau vor einer Massenversendung).
Folgenden Code hab ich derzeit als "beste Variante" in Verwendung:
Code:
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItemfromtemplate(TextBox_MailPfad) '"TextBox_MailPfad" ist der Pfad der "Vorlage-Mail"
.To = Range(CONST_ColumnMail & i) 'Empfänger aus der Excelliste einfügen
.Display 'Anzeigen der erstellten Mail --> Wenn das aktiv, wird eine Signatur eingefügt. Ansonsten nicht.
.send 'Versenden
End With
Set olApp = Nothing
Hoffe es hat jemand eine Idee. Wäre für jeden Input dankbar!

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Makro: Mail erstellen ohne Signatur
07.10.2015 10:13:51
Born
Hallo Franz,
ich habe von Outlook-Programmierung keine Ahnung,
aber ev. kannst Du vor dem Senden die letzten x Zeilen (sprich die Signatur) im Mailtext löschen, um das Problem zu umgehen.
Viele Grüße,
M. Born

AW: Excel-Makro: Mail erstellen ohne Signatur
07.10.2015 10:45:29
HuberFranz
Hallo Born,
guter Ansatz! Kann ich so jedoch nicht ganz umsetzen, da ich sicherstellen möchte, dass das Makro auf unterschiedlichen PCs mit unterschiedlichen Usern immer das gleiche Ergebnis bringt.
Das Ganze ist in einer Excel-Datei implementiert, also nicht unbedingt 100% reines "Outlook-Programmieren".
Komisch finde ich, dass wenn die Zeile ".Display" nicht verwendet wird, d.h. die Mail vor dem Versenden nicht angezeigt wird, alles so wie gewünscht funktioniert. (D.h. keine Signatur eingefügt). Ich würde nur gerne eine Möglichkeit für eine "Vorschau" einbauen. Da ist es natürlich störend, wenn da plötzlich die Signatur erscheint...
lg HuberFranz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Makro zur Erstellung von Mails ohne Signatur


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro zu erstellen, das eine Outlook-Mail ohne die standardmäßige Signatur versendet, kannst Du den folgenden Code verwenden. Achte darauf, dass Du Excel und Outlook korrekt eingerichtet hast.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItemFromTemplate(TextBox_MailPfad)  ' "TextBox_MailPfad" ist der Pfad der "Vorlage-Mail"
    .To = Range(CONST_ColumnMail & i)                 ' Empfänger aus der Excelliste einfügen
    .Display                                          ' Zeige die Mail an
    ' Hier kann die Signatur entfernt werden (siehe Fehlerbehebungen)
    .Send                                             ' Versenden
End With
Set olApp = Nothing
  1. Stelle sicher, dass Du den Pfad zur Mail-Vorlage und die Empfängerspalte in der Excel-Tabelle korrekt angibst.
  2. Teste das Makro, um sicherzustellen, dass es wie gewünscht funktioniert.

Häufige Fehler und Lösungen

  • Problem: Die Signatur wird angezeigt, wenn die Mail angezeigt wird.
    Lösung: Du kannst die letzten Zeilen der E-Mail, die die Signatur enthalten, vor dem Senden entfernen. Ein Beispiel könnte sein:
Dim signature As String
signature = "Deine Signatur"  ' Ersetze dies durch die tatsächliche Signatur
If InStr(.Body, signature) > 0 Then
    .Body = Left(.Body, InStr(.Body, signature) - 1)  ' Entferne die Signatur
End If
  • Problem: Fehler beim Senden der E-Mail.
    Lösung: Stelle sicher, dass die Outlook-Anwendung korrekt installiert und konfiguriert ist. Überprüfe auch, ob die Excel-Tabelle die richtigen Daten enthält.

Alternative Methoden

Wenn das obige Makro nicht die gewünschten Ergebnisse liefert, kannst Du auch überlegen, das Makro so zu ändern, dass es die Mail direkt versendet, ohne sie anzuzeigen. Das würde die Signatur-Problematik umgehen:

With olApp.CreateItemFromTemplate(TextBox_MailPfad)
    .To = Range(CONST_ColumnMail & i)
    .Send  ' Direkt versenden, keine Anzeige
End With

Beachte jedoch, dass dies keine Vorschau der Mail bietet.


Praktische Beispiele

Hier sind einige Beispiele, wie Du das Makro anpassen kannst:

  • E-Mail mit Anhängen versenden:
.Attachments.Add "C:\Pfad\zu\deinem\Anhang.pdf"
  • E-Mail mit CC und BCC:
.CC = "cc@example.com"
.BCC = "bcc@example.com"

Diese Anpassungen können die Funktionalität Deines Makros erweitern.


Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen, um sicherzustellen, dass Dein Makro bei Problemen nicht abstürzt. Dies kannst Du mit On Error GoTo ErrorHandler erreichen.
  • Teste das Makro in einer sicheren Umgebung, bevor Du es in einer produktiven Umgebung ausführst.
  • Halte Deinen Code sauber und dokumentiere ihn, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich die Signatur vollständig entfernen?
Du kannst die letzten Zeilen des Mailtextes, die die Signatur enthalten, mit einer einfachen Textmanipulation löschen.

2. Ist es möglich, mehrere Empfänger in einer E-Mail zu senden?
Ja, Du kannst mehrere Empfänger durch Kommas in der .To-Eigenschaft angeben, z.B. .To = "empfaenger1@example.com; empfaenger2@example.com".

3. Funktioniert das Makro in allen Excel-Versionen?
Der Code sollte in den meisten modernen Excel-Versionen funktionieren, jedoch kann es je nach Version Unterschiede in der Outlook-Integration geben. Achte darauf, dass Deine Versionen kompatibel sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige