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

Forumthread: Signatur auswahl

Signatur auswahl
20.09.2018 14:19:47
klein
Hallo Zusammen,
ich öffne Outlook über Excel.
Ich habe mehrere Signaturen. Wie kann ich über VBA eine bestimmte Signatur auswählen
Meine Signatur heißt: kle
Dim objOLOutlook As Object
Dim objOLMail As Object
Dim strSignatur As String
Set objOLOutlook = CreateObject("Outlook.Application")
Set objOLMail = objOLOutlook.CreateItem(0)
With objOLMail
.To = "xxx"
.CC = "xxxx"
.BCC = ""
.Sensitivity = 0
.Importance = 1
.Subject = "XXXX_
.BodyFormat = 1
.Body = _ XXXXXXX
.Display
End With
Set objOLMail = Nothing
Set objOLOutlook = Nothing
End Sub
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Signatur auswahl
20.09.2018 14:34:23
japes36
hab die mal die Teile bei mir rauskopiert.
meins in meins.htm auf deinen entsprechenden Signamen anpassen
Dim SigString, Signature As String
'Signatur
SigString = Environ("appdata") & "\Microsoft\Signatures\meins.htm"
If Dir(SigString)  "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
'Outlook Mailversand
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = ""
.Cc = ""
.Subject = Betreff
.HtmlBody = "

" & "Hallo zusammen," & "
_ " & "
" & _ MailText & "
" & _ "Viele Grüße" & _ Signature .Display '.Send End With Set MyOutApp = Nothing Set MyMessage = Nothing


Function GetBoiler(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function

Anzeige
AW: Signatur auswahl
20.09.2018 14:38:43
japes36
PS:
Dim MyMessage As Object, MyOutApp As Object

AW: Signatur auswahl
20.09.2018 14:42:53
japes36
PS2:
wie deine Siganturen heißen findest Du im Ordner C:\Users\Max Mustermann\AppData\Roaming\Microsoft\Signatures
AW: Signatur auswahl
20.09.2018 16:01:44
klein
Sobald ich das Makro laufen lassen möchte kommt eine Fehlermeldung mit Sub oder Function nicht definiert und markiert mir getBpiler an....
Grüße
Anzeige
AW: Signatur auswahl
21.09.2018 08:40:36
japes36
Hi,
ja die Subs und Ends musst Du natürlich komplettieren...folgend mein kompletter Code (nicht relevantes bzw. privates Zeugs hab ihc entfernt
Sub Mail()
Dim MyMessage As Object, MyOutApp As Object
Dim SigString, Signature, MailText As String
'Mailtext
MailText = ""
'Signatur
SigString = Environ("appdata") & "\Microsoft\Signatures\meins.htm"
If Dir(SigString)  "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
'Outlook Mailversand
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = ""
.Cc = ""
.Subject = Betreff
.HtmlBody = "Hallo zusammen," & "
" & "
" & _ MailText & "
" & _ "Viele Grüße" & _ Signature .Display '.Send End With Set MyOutApp = Nothing Set MyMessage = Nothing End Sub Function GetBoiler(ByVal sFile As String) As String Dim fso As Object Dim ts As Object Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) GetBoiler = ts.readall ts.Close End Function

Anzeige
AW: Signatur auswahl
21.09.2018 08:52:37
japes36
...die Zeilenumbrüche im HTML Body musst Du natürlich anpassen auf das wie du es willst bzw benötigst.
VG
AW: Signatur auswahl
21.09.2018 15:59:10
klein
Hi,
super vielen Dank!!!
Grüße
;
Anzeige
Anzeige

Infobox / Tutorial

Outlook Signaturen in Excel verwalten


Schritt-für-Schritt-Anleitung

Um eine bestimmte Outlook Signatur über VBA in Excel auszuwählen, befolge diese Schritte:

  1. Erstelle ein neues Makro in Excel:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  2. Füge den folgenden Code ein:

    Sub Mail()
       Dim MyMessage As Object, MyOutApp As Object
       Dim SigString As String, Signature As String, MailText As String
    
       'Mailtext definieren
       MailText = "Hier ist der Text deiner E-Mail."
    
       'Signatur aus dem Signaturverzeichnis laden
       SigString = Environ("appdata") & "\Microsoft\Signatures\deine_signatur.htm"
       If Dir(SigString) <> "" Then
           Signature = GetBoiler(SigString)
       Else
           Signature = ""
       End If
    
       'Outlook Mailversand
       Set MyOutApp = CreateObject("Outlook.Application")
       Set MyMessage = MyOutApp.CreateItem(0)
       With MyMessage
           .To = "empfaenger@example.com"
           .Cc = ""
           .Subject = "Betreff deiner E-Mail"
           .HtmlBody = "Hallo zusammen," & "<br>" & _
                       MailText & "<br>" & _
                       "Viele Grüße,<br>" & _
                       Signature
           .Display  'oder .Send, um die E-Mail direkt zu senden
       End With
    
       Set MyOutApp = Nothing
       Set MyMessage = Nothing
    End Sub
    
    Function GetBoiler(ByVal sFile As String) As String
       Dim fso As Object
       Dim ts As Object
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
       GetBoiler = ts.ReadAll
       ts.Close
    End Function
  3. Passe den Pfad zur Signatur an:

    • Ersetze deine_signatur.htm durch den Namen deiner tatsächlichen Signaturdatei.
  4. Führe das Makro aus:

    • Gehe zurück zu Excel, drücke ALT + F8, wähle Mail und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Sub oder Function nicht definiert

    • Achte darauf, dass die Funktion GetBoiler korrekt im selben Modul definiert ist.
  • Fehler: Signatur nicht gefunden

    • Überprüfe den Pfad, ob die Datei im Verzeichnis C:\Users\<Dein Benutzername>\AppData\Roaming\Microsoft\Signatures existiert.

Alternative Methoden

Eine weitere Methode, um Outlook verschiedene Signaturen auszuwählen, besteht darin, die Signatur direkt in Outlook zu bearbeiten:

  1. Öffne Outlook.
  2. Gehe zu Datei > Optionen > E-Mail > Signaturen....
  3. Erstelle oder bearbeite deine Signaturen nach Bedarf.

Diese Methode ist einfach, bietet jedoch keine VBA-Automatisierung.


Praktische Beispiele

Hier ist ein Beispiel für eine Signatur, die HTML-Formatierung verwendet:

<p style="font-family:Arial; font-size:12px;">
    Mit freundlichen Grüßen,<br>
    Max Mustermann<br>
    <a href="mailto:max@mustermann.de">max@mustermann.de</a>
</p>

Speichere diesen Code in einer .htm-Datei und verwende den oben beschriebenen VBA-Code, um die Signatur in deine E-Mails einzufügen.


Tipps für Profis

  • Verwende Variablen für häufige E-Mail-Inhalte:

    • Definiere Variablen für den Betreff und den Mailtext, um den Code übersichtlicher zu gestalten.
  • Automatisiere mehrere Signaturen:

    • Du kannst ein Dropdown-Menü in Excel erstellen, das es dir ermöglicht, die gewünschte Signatur auszuwählen, bevor die E-Mail gesendet wird.

FAQ: Häufige Fragen

1. Wie finde ich den Pfad zu meinen Signaturdateien?
Der Pfad lautet in der Regel: C:\Users\<Dein Benutzername>\AppData\Roaming\Microsoft\Signatures. Hier findest du alle deine Outlook Signaturen.

2. Kann ich die Signatur auch automatisch senden?
Ja, ersetze .Display durch .Send, um die E-Mail direkt zu senden, anstatt sie nur anzuzeigen.

3. Was ist die Funktion von GetBoiler?
Die Funktion GetBoiler liest den Inhalt der Signaturdatei und gibt ihn als String zurück, damit er in die E-Mail eingefügt werden kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige