Ergebnis 1 bis 10 von 10

Thema: Outlook eMail Betreff automatisieren? (Office 2013)

  1. #1
    Office-Hilfe.com - Neuling
    Registriert seit
    12.02.2018
    Beiträge
    8

    Outlook eMail Betreff automatisieren?

    Hallo in die Runde,

    ich möchte den Betreff einer eMail automatisieren.
    Und zwar so: ich gebe in den Betreff der eMail ein Kürzel ein, z.B. "vb#", und beim Versenden wird das Kürzel automatisch ersetzt durch "Vorsorgebescheinigung".
    Textbausteine oder Autokorrektur funktioniert ja im Betreff einer eMail nicht. Also ein Makro.

    Folgendes habe ich schon gefunden. Hier wird "Sehr geehrter Kollege" eingetragen, wenn die Betreff-Zeile leer bleibt.
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    If IsNull(Item.Subject) Or Len(Item.Subject) = 0 Then
    Item.Subject = "Sehr geehrter Kollege"
    End If
    End Sub

    Bin jetzt leider nicht so erfahren, daraus das gewünschte zu machen...

    DANKE!! für euren Support.

    Jörg

  2. #2
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.180
    Hallo Jörg,

    ausgehend von deinem Vorgabe-VBA-Code müsste die Call-Back-Event-Procedure "ItemSend" des "Application"-Objekts lauten wie folgt:
    Code:
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
      With Item
          If IsNull(.Subject) Or Len(.Subject) = 0 Then
            .Subject = "Sehr geehrter Kollege"
          Else
            .Subject = Replace(.Subject, "vb#", "Vorsorgebescheinigung")
          End If
      End With
    End Sub
    Diese modifizierte Version macht Folgendes:
    1) Falls die Betreff-Zeile leer war, wird in sie "Sehr geehrter Kollege" eingefügt.
    2) Andernfalls (falls sie nicht leer war) wird sie so belassen, wie sie war, es sei denn, sie enthält irgendwo die Zeichenfolge "vb#". Dann wird diese durch die Zeichenfolge "Vorsorgebescheinigung" ersetzt.
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

  3. #3
    Office-Hilfe.com - Neuling
    Registriert seit
    12.02.2018
    Beiträge
    8
    Hallo Anton,

    sorry für späte Antwort, bin erst jetzt dazu gekommen hinein zu schauen.
    Erstmal vielen dank für Deine Unterstützung.
    Aktuell macht Outlook leider gar nichts mehr, heißt, weder wird im leeren Betreff "Sehr geehrter Kollege" reingeschrieben, noch "VB#" ersetzt.
    Ich muss mal weiter forschen...

    Danke & Gruß
    Jörg

  4. #4
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.180
    Hallo Jörg,

    ich habe es soeben nochmals getestet - es hat einwandfrei funktioniert.

    1) In Outlook habe ich die Tastenkombination Alt+F11 gedrückt, sodass ich in den VBA-Editor gelangt bin.
    2) Dort kann man die Tastenkombination Strg+R drücken, falls das Projekt-Fenster nicht sichtbar sein sollte.
    3) Im Projektfenster den Listeneintrag "Projekt1" anklicken, sodass der Untereintrag "Microsoft Outlook Objekte" sichtbar wird.
    4) Diesen Eintrag "Microsoft Outlook Objekte" auch wieder anklicken, sodass der nochmalige Untereintrag "ThisOutlookSession" sichtbar wird.
    5) Wenn du auf diesen Eintrag einen Doppelklick machst, erscheint der Editor für das Codemodul der "ThisOutlookSession":
    6) Dort fügst du den in meinem letzten Beitrag enthaltenen Code per Copy+Paste ein.
    Das Resultat müsste dann ausschauen wie in der folgenden Grafik:
    (Zu beachten ist ferner, dass "vb#" nicht gleich "VB#" ist !!!)
    Angehängte Grafiken Angehängte Grafiken
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

  5. #5
    Office-Hilfe.com - Neuling
    Registriert seit
    12.02.2018
    Beiträge
    8
    Hallo Anton,
    jetzt klappt es einwandfrei!! DANKE!! Und zwar beide Varianten. Habe das jetzt an meinem Privatrechner gemacht.
    Vorhin, als es nicht geklappt hat, war ich in der Firma. Könnte sein, dass eine Sicherheits-Policy die Makroausführung unterbindet.
    Nochmal: klasse Hilfe, danke!
    Viele Grüße
    Jörg

  6. #6
    Office-Hilfe.com - Neuling
    Registriert seit
    12.02.2018
    Beiträge
    8
    Hallo Anton,

    ich bin's wieder. Konnte mich jetzt wieder mit dem Thema beschäftigen.
    Aktueller Stand ist: auf beiden Rechnern (privat und Firma) funktioniert es, allerdings nur solange Outlook nicht geschossen wird.
    Nach Schließen und Wiederöffnen von Outlook funktioniert es nicht mehr...
    Hast Du noch eine Idee?
    Danke Dir!
    Viele Grüße
    Jörg

  7. #7
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.180
    Hallo,

    funktioniert es, allerdings nur solange Outlook nicht geschossen wird.
    Nach Schließen und Wiederöffnen von Outlook funktioniert es nicht mehr...
    d.h. es ist in den Optionen eingestellt, dass Makros deaktiviert sind - das hat natürlich seinen guten Grund, denn Makros können natürlich Viren enthalten.

    Im Outlook-Menüband > Tabulator "Datei" > "Optionen" > Trust Center > Button "Einstellungen für das Trust Center …" > Makroeinstellungen
    • ist entweder Radiobutton "Alle Makros ohne Benachtigung deaktivieren"
    • oder Radiobutton "Benachrichtigungen für digital signierte Makros. Alle anderen Makros sind deaktiviert"
    ausgewählt.

    Es gibt nun folgende Möglichkeiten:
    • Eine digitale Signatur für Makros zu erstellen und die Option "Benachrichtigungen für digital signierte Makros …" auszuwählen
    • oder die Option "Benachrichtigungen für alle Makros" auszuwählen. Hier muss man natürlich beim Start von Outlook den Button "Aktivieren Makros" betätigen, um sie für die aktuelle Outlook-Sitzung einzuschalten.
    • während die Option "Alle Markos aktivieren …" nicht zu empfehlen ist.
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

  8. #8
    Office-Hilfe.com - Neuling
    Registriert seit
    12.02.2018
    Beiträge
    8
    Hallo Anton,
    das war es. DANKE!!
    Ich versuche jetzt mal eine Signatur zu erstellen. Toi toi toi.
    Schönen Gruß
    Jörg

  9. #9
    Office-Hilfe.com - Neuling
    Registriert seit
    22.08.2019
    Beiträge
    1

    Bitte noch einmal - "ab Guten Morgen"

    Liebe Leute,

    das automatisierte Befüllen der Betreffzeile ist genau mein Thema. Ich habe das Makro wie beschrieben in den VBA Editor kopiert. Aber dann? Wie kriege ich das Makro in Outlook gestartet?
    <Neue Mail> oder <auf Mail antworten> anwählen - und dann? Muss ich irgendwas markieren, irgendwas anklicken, irgendwas aufrufen? So tut sich gar nichts im Mail Editor. Oder läuft das Makro erst in dem Moment wenn die Mail gesendet wird und man kann im Mail Editor noch gar nichts sehen? Muss ich die Fehlermeldung "Wollen Sie die Mail ohne Betreff versenden" ignorieren und sehe das Ergebnis erst im <SENT> Ordner? Vergebt mir meine Blödheit - es ist mein erstes Makro in Outlook. Ich schreibe Euch gerne jedes Excel Makro - aber Outlook ist absolut Neuland für mich.

    LG

    Leopold

  10. #10
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.180
    Hallo Leopold,

    Ich habe das Makro wie beschrieben in den VBA Editor kopiert.
    Aber dann? Wie kriege ich das Makro in Outlook gestartet?
    ich nehme an, du hast die Postings, die ich mit User cessna geführt habe, um seine Probleme zu lösen, genau gelesen:
    1. Mein Posting vom 06.12.2018 um 20:57 Uhr: Dort habe ich beschrieben, was zu veranlassen ist, um das Makro an der korrekten Stelle in den VBA-Editor zu bekommen. In der angefügten Grafikdatei ist das Ergebnis zu sehen - zu beachten sind die beiden Fenster (Projekt1-Fenster mit der ausgewählten "ThisOutlookSession"-Instanz als linkes Fenster und daneben das rechte große Fenster, das VBA-Editor-Fenster mit dem eingefügten VBA-Code).
    2. Wie im VBA-Editor zu sehen ist, heißt die Prozedur "Application_ItemSend", sie besitzt 2 formale Parameter ("Item", "Cancel"). Die beiden Namensbestandteile "Application" und "ItemSend" sind außerdem in den beiden Comboboxen oberhalb des Editortextes enthalten. Das deutet darauf hin, dass "ItemSend" eine Methode des "Application"-Objektes ist.
      Der Hintergrund ist, dass die Objektinstanz (ThisOutlookSession) des Application-Objektes beim Versand von E-Mails (Item) im Hintergrund ein Ereignis (Event) auslöst, wobei die Prozedur "Application_ItemSend" dafür gedacht ist, das Standardverhalten des E-Mail-Versandes zu modifizieren - man nennt das eine Callback-Procedure für das Event.
      Der Parameter "Item" bezieht sich auf das E-Mail-Objekt, dessen Verhalten/Eigenschaften eventuell zu ändern sind.
      Der Parameter "Cancel" ist eine Boolean-Variable, die implizit als "ByRef" aufgerufen wird, d.h. der Zustand dieser Variablen wird an das aufrufende Programm im Application-Objekt zurückgegeben. Falls Cancel=True ist, wird die Objektinstanz, auf die Item zeigt, nicht versendet.
      Vgl. den Microsoft-Link: https://docs.microsoft.com/de-de/off...ation.itemsend
    3. Mein Posting vom 21.1.2019 um 11:08 Uhr behandelt die Handhabung von Makros in Outlook - die Möglichkeiten und Probleme dabei.

    Der langen Rede kurzer Sinn ist: Die Prozedur wird nicht direkt aufgerufen/gestartet durch den Benutzer, sondern die Outlook-Applikation löst intern vor dem Versand eines E-Mails ein ItemSend-Ereignis aus, das daraufhin die dazugehörige Callback-Prozedur (falls vorhanden) aufruft.
    Auf alle Fälle muss die Makro-Verwendung in den Outlook-Optionen ermöglicht werden bzw. müssen gegebenenfalls beim Start von Outlook Makros aktiviert worden sein.
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Excel Ticker - News, Tipps und Tricks zu Microsoft Excel | SMS kostenlos versenden | Forenuser - Die Foren Findmaschine