Outlook-Signatur mit Word-Vorlage automatisch erstellen (VBS)

Das hier vorgestellte Skript generiert automatisch aus einer Word-Vorlage und beliebigen Active Directory-Attributen des ausführenden Benutzers eine individuelle E-Mail-Signatur für Outlook.

Erstellung der Word-Vorlage

Die Gestaltung der Word-Vorlage ist recht simpel:

In einem neuen Word-Dokument werden alle statischen Inhalte der Signatur (wie z.B. „Telefon: „, oder „Fax: “ vor der eigentlichen Nummer) wie gewohnt eingefügt und formatiert.

Für die dynamischen Elemente der Signatur werden dann Textmarken an den gewünschten Positionen eingefügt; die Formatierung der Elemente wird vom Absatz in den eingefügt wird übernommen. Die Benennung der Textmarken ergibt sich aus dem Attribut-Namen des einzufügenden AD-Attributs. Sollen beispielsweise in die erste Zeile der Vorlage Vor- und Nachname des Mitarbeiters erscheinen, sollte diese folgendermaßen aussehen:

<Textmarke „givenName“> <Textmarke „sn“>

Für den Fall, dass ein Attribut mehrfach verwendet werden soll, kann zur Unterscheidung der Textmarken ein beliebiger String mit Unterstrich angehängt werden; z.B. einfach durchnummerieren:

<Textmarke „givenName_1“> …
<Textmarke „givenName_2“> …

Eine Übersicht der m.E. gebräuchlichsten Werte habe ich in folgender Abbildung zusammengestellt:

Übersicht: AD-Benutzer-Attribute

Des Weiteren ist dem Download eine Beispiel-Vorlage beigefügt.

Generierung der Signatur

Ist nun die Vorlage wunschgemäß gestaltet und mit den benötigten Textmarken versehen, wird es Zeit das Skript damit zu „füttern“. Dies geschieht über die verfügbaren Kommandozeilenparameter:

cscript.exe CreateOutlookSig.vbs -t <WordTemplate> [-s <SignatureName>] [-n] [-r [<WordTemplateReply> [-rs <ReplySigNameSuffix>]] [-rl] [-l] [-c]

ParameterBeschreibungDefault
-tPfad und Dateiname der Word-Vorlage –
-sSignaturname (optional) Nachname des Benutzers
-nAls Standardsignatur für neue Nachrichten setzen (optional) Nein
-rAls Standardsignatur für Antworten/Weiterleitungen setzen (optional)
Zusätzlich kann Pfad und Dateiname für eine abweichende Antwort-/Weiterleitungssignatur angegeben werden (optional)
 Nein
-rsSetzt Suffix für Antwort-/Weiterleitungssignaturnamen (optional)_ReFwd
(nur bei -r <WordTemplateReply>)
-lHyperlinks für E-Mail-Adresse und Homepage setzen (optional) Nein
-rlZeilen mit nicht gefüllten Textmarken entfernen (optional)Nein
-cErstellung der Signatur nur bei vorhandenem Outlook-Profil (optional) Nein

Es müssen Pfad und Name der Word-Vorlage durch den Parameter -t übergeben werden. Optional kann der Name der Signatur mit -n festgelegt werden – bleibt dieser Parameter ungenutzt, wird automatisch der Nachname (sn)des ausführenden Benutzers als Signaturname verwendet. Die erstellte E-Mail-Signatur kann zusätzlich über die Parameter -n und -r als Standardsignatur für neue E-Mails bzw. Anworten/Weiterleitungen gesetzt werden.

Für Antworten und Weiterleitungen kann eine andere Vorlage verwendet werden, indem hinter dem Parameter -r noch ihr Pfad und Dateiname übergeben wird. Sie wird standardmäßig <SignatureName>_ReFwd benannt; ein eigenes Suffix kann über den Parameter -rs festgelegt werden.

Mit -l werden die in die Signatur eingefügte E-Mail-Adressen und URLs mit entsprechenden Hyperlinks versehen. Durch -rl werden Zeilen, die eine nicht gefüllte Textmarke enthalten, komplett entfernt.

Durch Nutzung von -c kann verhindert werden, dass eine Signatur für User generiert wird, bei denen kein Outlook-Profil eingerichtet wurde.

Die Ausführung des Skripts kann dann bspw. so aussehen:

cscript.exe CreateOutlookSig.vbs -t \\bistron.eu\dfs\vorlagen\OutlookSignatur.dot -s Standardsignatur -n -r

Die so erstellte neue E-Mail-Signatur wird in Outlook automatisch als Standard-Signatur für Antworten und Weiterleitungen gesetzt.

Ist bereits eine Outlook-Signatur mit gleichem Namen vorhanden, wird diese durch das Skript ersetzt!

Natürlich kann das Skript auch als Benutzer-An-/Abmeldeskript per Gruppenrichtlinie zugewiesen werden. So kann z.B. sichergestellt werden, daß die Signaturinhalte immer synchron mit den im AD hinterlegten Daten ist und auch ggf. durchgeführte Designanpassungen zeitnah von den Benutzern übernommen werden.

In Outlook 2003 kann es zu Formatierungsproblemen kommen, wenn nicht Microsoft Word als E-Mail-Editor genutzt wird.

Bei Unterschieden im Zeilenabstand, oder der Hyperlink-Schriftart zwischen Word-Vorlage und Outlook-Signatur kann die in Alois‘ Kommentar beschriebene Anpassung der Formatvolagen Abhilfe schaffen.

Downloads

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne
(11 Bewertungen, ⌀: 4,82 / 5)
Loading...

66 Kommentare

  1. Knut Friebe

    Excellent! Funktioniert hervorragend!

    Danke und Grüße,

    Knut

  2. Steffen Spitz

    Hallo,

    kann ich das Eingabeformular verändern? Wenn ja, wie?

    DANKE

    VG
    Steffen

  3. Thomas

    Hallo,

    Ganz ein Cooles Script, ich hatte das ganze etwas anders gelöst, deines ist 10000 mal besser. Wo ich noch anstehe ist folgender Punkt: Ich möchte die E-Mail Adresse verlinken. Wie kann ich das bewerkstelligen?

    Gruss

    Thomas

    • Dennis Bistron

      Hallo Thomas,

      auf die Schnelle wahrscheinlich am einfachsten durch eine Fallunterscheidung in der Schleife (Zeile 96-98). Also wenn die Bookmark „mail“ erreicht ist, dort einen Hyperlink einfügen, anstatt nur den Text.

      Könnte etwa so aussehen:

      For Each strBookmark In objDoc.Bookmarks
                  If strBookmark = &quot;mail&quot; Then
                              objDoc.Hyperlinks.Add objDoc.Bookmarks.Item(strBookmark).Range, &quot;mailto:&quot; &amp; objUser.mail,,, objUser.mail
                  Else
                              Execute &quot;objDoc.Bookmarks(&quot;&quot;&quot; &amp; strBookmark &amp; &quot;&quot;&quot;).Range.Text = objUser.&quot; &amp; strBookmark
                  End If
      Next
      
  4. Thomas

    @Steffen

    Im Word dokument musst du variabeln als Textmarke -> Wordfunktion einfügen. Dann klappt das ganze.

    Gruss Thomas

  5. jpanse

    Hallo, hallo

    Ist es möglich per VB den Standard Mail Account auzulesen und dort den Wert „New Signature“ anzupassen. Die meisten Tools oder Scripte setzen die Signatur nämlich bei jedem Angelegten Account und ich habe im meinem Privaten Account nicht gerne meine geschäftliche Signatur 😉

  6. Socke

    Hallo Dennis,

    sehr schönes Script, allerdings scheint es bei mir nicht zu funktionieren: Wenn ich das Script ausführe, läuft es zwar scheinbar durch, jedoch ändert sich nichts an den Outlook-Einstellungen.

    Ich will die Signatur für ein Outlook 2010 32-Bit setzen.

    Gibt es bekannte Probleme mit dem Script und OL2010?

    • Socke

      Okay, ich habe den Fehler gefunden: Ich habe den Pfad zur Outlook-Vorlage bei meinem Test relativ zum VBS-Script angegeben. Das Script erwartet die Vorlage dann irgendwo in C:Windows… und schlägt somit natürlich fehl.

  7. Fabian Fischer

    Absolut perfekt, vielen Dank.
    Funktioniert tadellos, hab zwar etwas gebraucht um dahinter zu steigen, aber nun funktioniert es.

    🙂

    • Fabian Fischer

      Gerade ist mir noch was aufgefallen.
      Gibt es eine Möglichkeit, eine komplette Zeile zu löschen, wenn das AD-Attribut leer ist?
      Beispiel:
      Ich sollte in der Signatur Telefon-, Mobil- und Fax-Nummer drin haben, aber nicht jeder hat alle 3 Dinge auch wirklich in der AD stehen (weil nicht vorhanden).
      So wie es jetzt ist, würde hinter z.B. „Mobil:“ nichts stehen…
      ich hoffe es ist klar, was ich meine

      • Dennis Bistron

        Hallo Fabian,

        verstehe das Problem, habe jedoch leider spontan keine vernünftige Lösung parat; werde mir aber mal ein paar Gedanken dazu machen und mich nochmal melden…

        • Jascha

          Hi,
          super Script. Bevor ich anfange zu testen wie sieht es aus mit einem Bild was in die Signatur mit eingepflegt werden soll?
          Gibt es schon eine brauchbare Lösung wegen der leeren Zeilen von meinem Vorredner?

          Grüße
          Jascha

          • Fabian

            Hi jascha.
            Das Problem mit den Leerzeichen wurde mit der aktuellsten Version behoben.
            Bilder sind auch kein Problem.
            Ich selbst habe bei uns ein Firmenlogo mit in der Mail.
            Am besten bindest du GIFs ein, die verbrauchen am wenigsten Speicher (weiß=leer)

          • Dennis Bistron

            Da warst Du wohl schneller 😉

          • Dennis Bistron

            Hallo Jascha,

            Bilder werden problemlos aus der Vorlage in die Signatur übernommen.

            Zum Entfernen von Zeilen mit leeren Textmarken/Attributen kann die Option -rl verwendet werden.

            MfG

  8. Jasch

    Hi,
    danke erstmal für die vorherige Hilfe. Hat alles soweit geklappt.
    Jetzt versuche ich aber nach einer Möglichkeit zwei Signaturen gleichzeitig ausführen zu lassen. Und zwar eine die für neue Nachrichten als standard gesetzt werden und dann noch eine verkürzte Signatur die nur für Relply/Forward genutzt werden soll. Lasse ich beide beim anmelden starten überschreibt er ja die für neue Nachrichten.
    Gibt es da eine Möglichkeit im Script noch was mit einzubauen das man zwei Vorlagen einbauen kann?
    Den zweimal das Script beim starten auszuführen kostet Zeit und ist auch nicht immer fehlerfrei 😉

    Grüße
    Jascha

    • Dennis Bistron

      Hallo Jascha,

      eigentlich dürfte nichts überschrieben werden, wenn Du für Neu und Reply Signaturen mit unterschiedlichen Namen anlegst – z.B. so:

      cscript.exe CreateOutlookSig.vbs -t OutlookSignatur_neu.dot -s Standardsignatur_Neu -n
      cscript.exe CreateOutlookSig.vbs -t OutlookSignatur_reply.dot -s Standardsignatur_Reply -r

      Wenn die Ausführung für die Anmeldung zu lange dauert, könnte man auch überlegen, es bei der Abmeldung ausführen zu lassen – hier wird eine Verzögerung i.d.R. als weniger störend empfunden…

      Falls Du mit den o.g. Parametern noch Probleme beim Anlegen Deiner Signaturen haben solltest, bzw. die Auführung bei Abmeldung nicht in Frage kommt, meld Dich am besten kurz über das Kontaktformular

      MfG

      • Jascha

        Hi,
        danke hatte ich zum Schluss auch bemerkt. Hatte vergessen einen Namen mitzugeben. Also bis jetzt klappt alles wunderbar.
        Wäre ja trotzdem vielleicht eine überlegung Wert mit einem Aufruf die zwei möglichen Signaturen (NeueMail;Antworten/Weiterleiten) einzupflegen 😉

        Grüße

  9. Michael

    Hallo, ich habe das Problem das das Script zwar ausgeführt wird, aber leider keinerlei Meldungen zurück gibt und leider auch nichts einträgt ?!

    Ich habe das Script aus dem Logon Script mit UNC Pfaden gestartet und auch lokal am Client über die Kommandozeile als Admin und als „normaler“ User.

    Als Outlook kam einmal das 2007 und einmal das 2010 zum Einsatz.

    Liebe Grüße

  10. Janosch

    Hi Dennis,

    Kann man auch die AD Attribute „url“ mit einbinden (neben Webseite: Andere…)? Bzw. wie müsste das Script hier angepasst werden das alle Werte aus „url“ mit ausgegeben werden?
    Kann das als (URL) Liste ausgegeben werden?

    z.B. aktuelle Werte: http://www.Seite1.de ; http://www.Seite2.de
    Ausgabe wie folgt:
    http://www.Seite1.de
    http://www.Seite2.de

    Gruß
    Janosch

  11. Martin Bichler

    Hallo,

    super Script. Nur ein Problem. Ich krieg die Fehlermeldung „Die Verzeichniseigenschaft wurde nicht im Cache gefunden. Code 8000500D“, wenn der Benutzer keinen Vornamen (firstname) oder Nachnamen (lastname) hat.
    Ich kann zwar das Script ein wenig erweitern, daß das vorher geprüft wird, aber vielleicht kannst du´s ja gleich mit einbauen.

    Aber auf jeden Fall danke für das Script.
    Gruß
    Martin

  12. Dennis Bistron

    @Jascha
    Mit der aktualisierten Version kann über den Parameter -r jetzt eine weitere Vorlage für Antworten/Weiterleitungen an das Skript übergeben werden (s.o.).

    @Michael
    Schwer zu sagen… Meld‘ Dich am besten bzgl. Austauschs weiterer Details über das Kontaktformular.

    @Janosch
    Versuch’s mal mit der aktualisierten Version… 😉

    @Martin
    Aufgrund des On Error Resume Next im Skript dürfte der Fehler kein Problem darstellen. Doch um ihn gänzlich zu vermeiden, kannst Du auch statt der Attribute firstname und lastname (IADsUser) givenName bzw. sn (AD) verwenden (s. Link). Bei Verwendung der AD-Attribute tritt der Fehler nicht auf.

    • Jascha

      Super Danke. Werd ich übers Wochenende ausgiebig testen.
      Eine neue Frage stellt sich mir aber. Das Script wird ja immer ausgeführt also auch dann wenn Outlook noch nicht eingerichtet ist. Gibt es eine Möglichkeit im Script eine Abfrage zu hinterlegen ob Outlook schon konfiguriert wurden ist oder nicht und dann entweder Script beenden oder weiter ausführen.
      Machbar?

      Grüße
      Jascha

    • Janosch

      Moin Moin Dennis,

      besten Dank 🙂 sieht soweit super aus. Mit der Option:

      ‚* Format Links
      objSelection.AutoFormat

      Kann ich leider nicht die Schriftart der Links verändern? Oder gebe ich mit (objSelection.Font.Name = „Arial“) etwas falsches an?

      Gruß
      Janosch

      • Dennis Bistron

        Hallo Janosch,

        eigentlich sollten die Links die Schriftart haben, die Du in der Vorlage festgelegt hast. Wenn Du also die Stelle mit der Textmarke url in Arial formatierst, sollten die URLs auch mit gleicher Formatierung in der Signatur ankommen. Eine Anpassung des Skripts sollte nicht notwendig sein…

        MfG

  13. Alexander

    Hallo, ich habe ein Problem mit diesem Script bei der Verteilung über eine Gruppenrichtlinie.

    Ich habe ein Batch Script mit diesem Inhalt auf einen UNC PFad auf meinen DC gelegt, und via Gruppenrichtlinie das Script für alle Benutzer verteilt:

    cscript.exe \domainnetlogonSignaturCreateOutlookSig.vbs -t \domainnetlogonSignaturSignatur.dot -s Standardsignatur -n -r

    Mit dem PAUSE Befehl konnte ich mir die Fehlermeldung anschauen.

    „UNC-Pfade werden nicht unterstützt“

    Das Problem ist der Speicherort des Script so wie ich das sehe.
    Wenn ich das batch-Script auf den Client kopiere und von dort aus ausführe, funktioniert es. Stellt sich die Frage: wie löse ich mein Problem ohne das Script vorher auf den Client kopieren zu müssen?

    • Dennis Bistron

      Hallo Alexander,

      dass die Verwendung eines UNC-Pfads als Arbeitsverzeichnis nicht erlaubt ist, dürfte m.E. nicht die Ursache sein; eher „normal“ an dieser Stelle.
      Erlauben könnte man es über einen Registry-Key (s. KB156276), doch benötigt habe ich ihn bisher nur bei Verwendung relativer Pfade (ohne den Key gehen sie von %WinDir% aus, statt vom UNC-Pfad).

      Falls Du das Problem noch nicht beheben konntest, kannst Du mir eine Nachricht über das Kontakt-Formular schicken.

      MfG

  14. Stefan Helke

    Hallo,

    danke für das tolle Skript, ist genau was ich gesucht habe. Ein kleiner ‚Bug‘ ist mir noch aufgefallen: bei AD’s mit zu vielen „Unter-OU’s“ kommt es zu dem Phänomen dass die Vorlage zwar als Signatur eingetragen ist, die Textmarken jedoch leer bleiben. Kürzt man den OU Pfad beispielsweise durch umbenennen wird die Vorlage wieder korrekt befüllt. Ohne ein VB Profi zu sein vermute ich ein zu kurz definiertes Array oder ähnliches.

    Vielen Dank und liebe Grüße

  15. Alex L

    Hallo,

    gibt es noch eine Möglichkeit die Signatur als Standard für mehrere Outlook Konton zu setzen?

  16. Brauni

    Hi Dennis, vielen Dank für das tolle Skript, es funktioniert inhaltlich einwandfrei. Das Problem, das sich mir in den Weg stellt, hat mit der Formatierung zu tun. Alle durch das Skript erzeugten Zeilen haben einen Zeilenabstand von 1,15 und einen „Abstand vor“ von 10Pt.

    Und was soll ich sagen, ich habe keine Ahnung wo diese Einstellungen herkommen. In der Vorlage für das Skript (OutlookSignatur.dotx) und in den Dateien Normal.dotm und NormalEmail.dotm ist der Zeilenabstand 1,0 und der „Abstand vor“ 0Pt., so wie ich das auch für die Signatur gerne hätte.

    Ich weiß, dass das nichts mit dem Skript zu tun hat, aber hat irgendjemand einen Idee wo diese Werte herkommen oder wie ich sie (automatisiert) ändern kann?

    LG
    Brauni

    • Dennis Bistron

      Hi,

      habe spontan leider auch keine Ahnung wo es herkommt.

      Welche Word-/Outlook-Version verwendest Du?
      Mit welchen Parametern wird das Skript gestartet?

      MfG

      • Brauni

        Hi,
        ich verwende Office Professional 2010.
        Das Skript starte ich so:
        cscript „C:…CreateOutlookSig.vbs“ -t „C:…OutlookSignatur.dotx“ -s test -n -r -l

        Irgendwelche Ideen??

        LB Brauni

        • Dennis Bistron

          Hi,
          hatte Dir einfachheitshalber die Antwort per Mail geschickt…
          MfG

          • Alois Leimüller

            Hallo,
            ich beobachte das fast gleiche Verhalten wie Brauni am 15.7. berichtet hat. Leider kann ich die Antwort bzw. Lösung des Rätsels nicht sehen..
            Bei mir ist der Zeilenabstand 1,15 und der “Abstand nach” ist 10Pt.

            viele Grüße
            Alois

          • Brauni

            Hallo Dennis,
            Sorry, dass ich mich erst jetzt melde, war gesundheitsbedingt lange eingeschränkt.
            Damit das ganze hier für jeden nachvollziehbar bleibt:
            Dennis hatte mir per Mail empfohlen den Parameter -L mal wegzulassen, das hat jedoch keine Änderung ergeben.
            Zusätzlich sollte ich mal das Kommentarzeichen in der Zeile „‚objWord.Visible = True“ weglassen und die Zeilen „objDoc.Close“ und „objWord.Quit“ auskommentieren, damit Word nicht geschlossen wird.
            So kann man feststellen, ob die Formatierung schon in Word schiefläuft.
            Und: sie läuft nicht schief, in Word ist noch alles in Ordnung.

            Bis jetzt habe ich nicht herausgefunden wo diese Formatierung herkommt.

            Da ich mehr in VB als in VBS zu Hause bin, habe ich angefangen mir dort ein entsprechendes Programm zu erstellen.
            In VB bin ich immerhin schon so weit, dass ich über die ParagraphFormat Eigenschaft des Selection Objekts den Zeilenabstand und den Abstand vor und nach dem Absatz setzen kann.
            Der entsprechende Part sieht dann so aus:

            ‚Signatur Formatieren
            ‚Absatzabstände und Zeilenabstand setzen
            objSelection = objDoc.Range(0, objSelection.End) ‚alles markieren
            objSelection.ParagraphFormat.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle ‚Zeileabstand
            objSelection.ParagraphFormat.SpaceAfter = 0 ‚Abstand nach
            objSelection.ParagraphFormat.SpaceBefore = 0 ‚Abstand vor

            In VB baue ich mir die gesamte Signatur selbst zusammen. Ich suche mir die Impressumsdaten, Logos, Links und die AD Userdaten zusammen, erzeuge damit ein Worddokument, speichere die Signatur im Outlook und aktiviere sie.
            Dadurch, dass ich hier frei von einer Wordvorlage bin, kann ich entsprechende Parameter wie Zeilen- und Absatzabstände selber definieren. Auf diesem Wege klappt es, die Formatierung wird nicht verändert.

            Für das VBS Skript dürften die Erkenntnisse jedoch irrelevant sein.
            Es sei denn, man kann vom Skript auf bestimmte Zeilen in der Vorlage zugreifen und über die ParagraphFormat Funktionen die entsprechenden Werte setzen.
            Wie gesagt, ich kann mir nicht erklären, wo die Werte für den Zeilen- und Absatzabstand herkommen. Die Normal.dotx und die Outlook.dotx sind korrekt eingestellt.
            Wenn noch jemand einen Tipp hat, ich teste gerne mit.

            LG
            Brauni

          • Alois Leimüller

            Danke für die Rückmeldungen.
            Folgende Ursache konnte ich für die fehlerhaften Absatz-Abstände rausfinden:
            Das Problem betrifft Absätze, die die Formatvorlage „Standard“ verwenden.
            Nach der Bearbeitung durch CreateOutlookSig.vbs wird ein Standardwert von Word 2010 verwendet. Der Wert 1,15 ist hier dokumentiert: http://office.microsoft.com/de-at/word-help/anpassen-der-zeilenabstande-zwischen-text-oder-absatzen-HP010368776.aspx
            Korrigieren konnte ich das so:
            Ich habe in der Signaturvorlage eine Formatvorlage erstellt, die z.B. Signaturtext heisst.
            Das Format ist darf gleich wie bei der Formatvorlage Standard sein, wichtig ist nur, dass die Formatvorlage nicht Standard heisst.
            Alle Absätze in der Signaturvorlage müssen diese Formatvorlage verwenden.
            Nun passen die Zeilenabstände auch nach Verwendung von CreateOutlookSig.vbs.

            Eine weitere Erkenntnis hatte ich dabei gewonnen:
            Die Hyperlinks erhielten in der HTML-Signatur immer die Schriftart Times New Roman, obwohl in der Vorlage Arial verwendet wurde.
            Für die Hyperlinks ist eine weitere Formatvorlage namens Hyperlinks zuständig. In dieser Formatvorlage muss die gewünschte Schriftart eingestellt werden.
            Die Hyperlinks-Formatvorlage ist nicht immer sichtbar. Da hilft es, die Liste aller Formatvorlagen mit Strg+Alt+Shift+s aufzurufen.

            viele Grüße
            Alois

          • Dennis Bistron

            Hallo Alois,
            vielen Dank für die Rückmeldung – hoffe, dass das Problem bei anderen auf diesem Wege auch umgangen werden kann. Konnte es selbst leider nie nachstellen…
            MfG
            Dennis

    • Carsten

      Das mit der Formatierung ist normal und das beschriebene Phänomen ein Benutzerfehler. Seit Word 2010 hält sich Microsoft nämlich an die offiziellen Regelungen, dass Absätze auch wie Absätze aussehen müssen (10 pt nach, 1,15 pt). In der Vorlage ist nach jeder Zeile ein Absatzende, der dies logischerweise bei neuen Dokumenten – der Signatur – provoziert.

      Nachstellen lässt sich das, indem man seine normal.dotx bzw normal.dotm einfach mal umbenennt. Word legt dann eine neue an, unter „Absatz“ kann man nun die o.g. Werte finden.

      Die Lösung des Problems ist extrem simpel: in der Vorlage einfach Zeilenende (Shift-Return) anstelle von Absatzende (Return) verwenden. Bei eingeblendeten Sonderzeichen ist das ein kleiner Pfeil wie auf der Enter-Taste.

      Ich hoffe mal, dass das das Problem war und ich damit helfen konnte. Das Skript ist nämlich so genial, dass es mir half und da versuche ich anderen auch gerne zu helfen.

  17. Daniel Fonk

    Hallo,
    ich habe dein Skript auf Outlook 2010 probiert und da funktioniert es tadellos. Ich habe jedoch auch Rechner mit Outlook 2013 und da funktioniert es leider nicht. Das Skript läuft durch, doch eine Signatur ist im Outlook leider nicht zu sehen.

    • Dennis Bistron

      Hallo Daniel,
      hast Du es mit der aktuellen Version vom 13.08.2014 versucht? Falls das Problem damit auch auftritt, meld Dich bitte noch mal über das Kontaktformular.

      • Daniel Fonk

        Hallo und vielen Dank für die Antwort. Ja ich habe es mit der aktuellen Version probiert. Ich habe mich über das Kontaktformular gemeldet.
        Seltsamerweise ging es mit einer älteren Version.

        • Dennis Bistron

          Dann nochmals vielen Dank für den Hinweis auf den Fehler.
          Das Problem sollte mit der aktuellen Version (27.08.2014) nicht mehr auftreten.

          • Jens Stengel

            Bei mir will es ebenfalls nicht funktionieren. UNC oder Rechte sollten kein Problem sein da ich einfach alles mal auf C: abgelegt habe.

            Aber ich denke mal das Script benötigt MS Word um die Werte eintragen zu können das sollte man bedenken. In meinem Fall habe ich jedoch nur LibreOffice zur Verfügung. Schade wäre sonst wohl echt die einfachste und günstigste Option gewesen :).

          • Dennis Bistron

            Hallo Jens,
            korrekt – MS Word wird benötigt; damit füllt das Skript die Textmarken in der Vorlage…
            MfG

  18. Matthias Martens

    Hallo,
    als erstes Super Script habe lange nach sowas gesucht.
    Habe ein dotm als Vorlage aber die Makros werden nicht geladen, die leere Vorlage wird als Signatur eingefügt.

    Gru? Matze

  19. Christoph

    Hallo,

    sehr schöne Lösung hier. Aber sehe ich das richtig das man jedes AD Attribut wegen der Verwendung von Textmarken in der Signatur nur einmal nutzen kann?? Ich braüchte zum Beispiel den Vornamen mehrfach in der Signatur

  20. Christoph

    funktioniert perfekt! Besten Dank!

  21. Julian

    Hallo Dennis,

    zuerst einmal super Script, funktioniert tadellos und ist genau das, was ich gesucht habe.

    Allerdings habe ich noch ein Problem, und zwar wird bei „Nur Text Mails“ ein seltsames Zeichen vor dem Namen gestellt. Bei Outlook 2010 ähnelt das einem tiefgestelltem T, bei Outlook 2003 einem ? im Kasten, manchmal auch nur ein Fragezeichen.

    Gibt es hierfür eine Lösung, oder habe ich irgendwo einen falschen Wert in dem Script oder in der AD?

    Schonmal vielen Dank für die Hilfe!

    Liebe Grüße,

    Julian

  22. DrMumie

    Wie muss eine Textmarke erstellt werden? Bei mir bleibt die Vorlage leer!

  23. Tom

    Bei mir belibt die Vorlage auch leer.

    Zum Einfügen der Textmarke bin ich in Word 2007 so vorgegangen:
    Einfügen->Textmarke
    Dort eine Textmarke z.B. givenName erstellt.
    Dann über Hyperlink->Textmarke die Textmarke ins Dokument geholt.

    Wenn ich das Script ausführe, sehe ich, dass unten rechts das Outlook-Symbol auftaucht und wieder verschwindet. Irgendwas läuft also.

    Es wird aber auch keine neue Signatur angelegt.

    • Dennis Bistron

      Ich habe dem Download wieder eine Beispielvorlage beigelegt – wurde bei der aktuellen Version leider vergessen.

      Damit es mit der Beispielvorlage funktioniert, muss ggf. nach dem Download in den Eigenschaften der Datei, Registerkarte Allgemein noch der Zugriff zugelassen werden; sonst ist sie für die Bearbeitung gesperrt.

      Falls es auch damit nicht funktioniert, dann könnt ihr im Skript folgendes ändern:
      – Zeile 180 auskommentieren, damit Fehler angezeigt werden -> 'Option Explicit
      – Zeile 223 das Kommentarzeichen (Apostroph) entfernen, um die Abarbeitung der Vorlage anzuzeigen -> objWord.Visible = True
      – Zeile 241 auskommentieren; so bleibt die Vorlage geöffnet -> 'objDoc.Close

      Hoffe das hilft ein wenig weiter…

      • Tom

        Danke für deine schnelle Antwort.

        Zeile 180 auskommentieren -> bringt keine Fehler
        Zeile 223 Apostroph weg -> Abarbeitung der Vorlage wird angezeigt (also Word öffnet sich, Felder werden in deiner Beispielvorlage abgefüllt)
        Zeile 241 auskommentieren -> Word schliesst sich trotzdem sofort wieder

        Trotzdem wird in Outlook keine Signatur angelegt.

        Wie ist dein Vorgehen von A-Z zum Einfügen von Textmarken? z.B. für deine Beispielvorlage? Wir bekommen das nicht hin…

        • Dennis Bistron

          Klappt leider nicht immer so schnell 😉

          Damit Word nicht schließt, muss Zeile 275 auch noch auskommentiert werden; hatte ich gestern übersehen.

          Textmarken:
          – Neues Dokument öffnen
          – Einfügen -> Textmarke
          – Textmarkenname = „givenName“ -> Hinzufügen
          – Dokument speichern

          Führt man das Skript dann mit dieser Vorlage aus, sollte der Vorname eingefügt werden.

          Doch sollte die Signatur unabhängig vom Füllen der Textmarken erstellt werden…

          • Tom

            Das Abfüllen der Textmarken klappt jetzt.

            Die Signatur wird aber in keinem Fall erstellt.
            Ich habe das (jeweils mit Office 2007) in zwei Umgebungen getestet:

            – Auf unseren produktiven Citrix-Terminal-Servern
            – Auf meinem Windows 8-Notebook

            Die Signatur wird nicht erstellt, auch keine Fehlermeldung.

  24. Markus

    Tolles script,
    läuft auch super, habe nur 2 probleme:
    1. die signatur wird im outlook ( 2010 ) 1,5 zeilig angezeigt, obwohl sie in der worlage 1 zeilig ist
    2. gibt es eine möglichkeit, den hyperlink der email als anzeigename umzubenennen sodass z.b. mail in der signatur steht??
    Danke

    • Dennis Bistron

      Hallo Markus,
      zu 1. Bist nicht der erste mit dem Problem; konnte es bisher leider nie nachvollziehen. Evtl. hilft Dir Alois‘ Kommentar weiter. Benutzt Du die mitgelieferte Vorlage, oder eine eigene?
      Zu 2. Das Skript müsste etwas angepasst werden; schaue es mir mal an und melde mich per E-Mail.
      MfG

      Nachtrag zu 2.:
      In Z. 236 und 252 (jeweils vor objSignatureEntries.Add strSigName, objSelection) einfügen:

         With objSelection.Find
             .Text = objUser.mail
             .Execute ,,,,,,,,,&quot;E-Mail an &quot; &amp; objUser.displayName
         End With
         Set objSelection = objDoc.Range()
  25. Juergen

    Hallo,

    super Skript!!! geht das auch für Office 2016? Grüße!

  26. Manuel

    Hallo,
    vielen Dank für das tolle Skript und die Anleitung!!! Funktioniert perfekt, bei mir auf Exchange 2010 und Outlook 2013

    Gruß Manuel

  27. Kevin

    Hallo Dennis,

    Tolles Script,

    Ich hab jetzt nur beim der Implementierung folgendes Problem :S.
    Ich würde gern die Funktion -rl verwenden. Da nicht alle Mitarbeiter ein Mobil Telefon verwenden. Sehr praktisch.

    Jetzt hab ich aber das Problem das einige Mitarbeiter ein Dr. Titel haben..
    Nur sollte kein Titel existieren verschindet in der Signatur der vor & Nachname… hat dafür jemand eine Idee ?

    Grüße Kevin

  28. Marco

    Hallo,
    ich habe folgenden Befehl in der CMD Datein:
    cscript.exe \\“Pfad“\CreateOutlookSig.vbs -r \\“Pfad“\Vorlage_kurz.docx -t \\“Pfad“\Vorlage_lang.docx -n -l

    Damit wollen wir eigentlich realisieren, dass bei einer neuen Email die Vorlage lang gewählt wird und bei einer Antwort die Vorlage kurz.
    Beim erstellen einer neuen Email funktioniert alles problemlos, die Reply Signatur wird ebenfalls angelegt, aber die Textmarkenfelder nicht ausgefüllt.
    Hat jemand eine Idee?
    Gruß Marco

Kommentar verfassen

Neue Beiträge Oft gelesene BeiträgeNeueste KommentareBlog abonnieren

Gib Deine E-Mail-Adresse an, um diesen Blog zu abonnieren und Benachrichtigungen über neue Beiträge via E-Mail zu erhalten.