Ein Kleines Danke mit einem Script

Jeder Mensch hat seine eigene Form der Anerkennung und der Dankbarkeit. Der eine möchte ein paar warme Worte, der nächste Geschenke und Aufmerksamkeiten, wieder ein anderer möchte Taten sehen, für manche ist die gemeinsame Zeit wichtig. Leider ist dafür oft keine Zeit.

Nehmen wir ein Beispiel: Ein Teammitglied hat sich sehr bemüht, um für den nächsten Liefertermin noch notwendige Arbeiten zu liefern, und hat dafür auch Überstunden gemacht. Von der Projektmanagement-Seite wurde jedoch – natürlich aufgrund des Stresses – nur der Eingang der Information zur Kenntnis genommen. Gedanklich wurde notiert, sich bei ihm zu bedanken … also wenn man mit ihm/ihr spricht … oder wenn man sich sieht … oder … oder … oder. Und so geschieht es, dass es keine Wertschätzung gibt, weil es schlicht und einfach durch den Stress vergessen wird.

Dabei gibt es verschiedene Möglichkeiten der Unterstützung.

Ein Danke via Click mit dem Quickstep

Das ist eine der einfachsten und schnellsten Arten, ein Danke zu verfassen. Der Quickstep ist eine Funktionalität, die bereits seit Office 2010 eingeführt wurde (also seit über 14 Jahren).

Mit dem Quickstep können diverse aufeinanderfolgende Tätigkeiten mit einer E-Mail oder einem Termin durchgeführt werden. Sei es, die E-Mail zu verschieben, diese weiterzuleiten oder eben auch eine Antwort zu senden. Die Anzahl der Schritte, die durchgeführt werden, ist faktisch nicht begrenzt. Es empfiehlt sich jedoch, bei einer überschaubaren und damit auch wartbaren Anzahl zu bleiben.

Man benötigt keine Programmierkenntnisse, und der Dialog ist sehr einfach zu verstehen.

Die Quicksteps sind in der Outlook Leiste zu finden:

Um nun den Quickstep für die Dankesmail zu erstellen, ist der Ablauf wie folgt:

  1. Quicksteps aufrufen
  2. Button Neu klicken
  3. und die Einstellungen wie auf den folgenden Quickstep durchführen:

Im Body Text kann die Antwort verfasst werden. Am besten sind Sätze wie:

  • Vielen Dank für die Info 🙂
  • Danke für Deine Unterstützung

Verwendet man diesen Quickstep, erscheint die Antwort wie folgt:

Hinweis: Leider muss der Quickstep in der Onlinevariante (portal.office.com) erneut manuell gesetzt werden.

Danke Mail mit Makro

Eleganter wird die Danksagung bei Verwendung eines Makros und einer variierten Anzahl von Danksagungsantworten.

In diesem Beispiel wird das Makro mit der Stakeholderliste kombiniert. Das Makro wird als eigener Button in die Symbolleiste in Outlook eingebunden:

Je nach gewählter Form des Empfängers wird eine unterschiedliche Antwort generiert:

Je nach gewählter Anrede, wird eine persönliche oder eine eher formelle Anrede verwendet.

Per Zufallsgenerator wird bei jedem Klick eine andere Antwort generiert:

Wie kommen die Daten meiner Stakeholder in das Script?

Je nach Anbindung können die Daten entweder direkt von einer separaten Datei (z. B. einer XLS-Liste) importiert oder fest im Skript codiert werden.

Bei der zweiten Variante muss jedoch bei Änderungen der Stakeholder auch das Makro überarbeitet werden.

Hier ist ein sehr einfaches Beispiel eines Makros, bei dem die E-Mailadressen manuell geändert werden müssten:

Sub AntwortMitAnrede()
    Dim olItem As Outlook.MailItem
    Dim Anrede As String
    Dim Name As String
    Dim Zeit As Integer
    
    
    Dim Danksagungen_formal(1 To 5) As String
    Dim RandomIndex As Integer
    
    ' Array mit verschiedenen Danksagungen
    Danksagungen_formal(1) = "Vielen Dank für die Information!" & vbCrLf & "Die Projektarbeit macht einfach mehr Spaß wenn man so miteinander arbeitet :)"
    Danksagungen_formal(2) = "Ganz Lieben Dank und Ich schätze diese Unterstützung sehr. Vielen Dank!"
    Danksagungen_formal(3) = "Es freut mich, dass unsere Zusammenarbeit so gut funktioniert. Ganz Lieben Dank :)"
    Danksagungen_formal(4) = "Danke für die Unterstützung!"
    Danksagungen_formal(5) = "Herzlichen Dank für die Rückmeldung!"
    
    'Zufälligen Index auswählen
    Randomize
    RandomIndex = Int((5 - 1 + 1) * Rnd + 1)
    
    'Überprüfen, ob eine E-Mail ausgewählt ist
    If Application.ActiveExplorer.Selection.Count = 0 Then
        MsgBox "Keine E-Mail ausgewählt.", vbExclamation
        Exit Sub
    End If
    
    'Nur die erste ausgewählte E-Mail verwenden
    Set olItem = Application.ActiveExplorer.Selection(1)
    
    'Je nach Tageszeit die Anrede festlegen
    Zeit = Hour(Now)
    If Zeit >= 0 And Zeit < 12 Then
        Anrede = "Guten Morgen"
    ElseIf Zeit >= 12 And Zeit < 18 Then
        Anrede = "Guten Tag"
    Else
        Anrede = "Schönen Abend"
    End If
    
    'Den Namen aus der E-Mail-Adresse extrahieren (bis zum @-Zeichen)
    Name = Left(olItem.SenderEmailAddress, InStr(olItem.SenderEmailAddress, "@") - 1)
       
    
    'Die Antwort erstellen
    olItem.ReplyAll
    olItem.HTMLBody = "<p>" & Anrede & " " & Name & ",</p>" & vbCrLf & vbCrLf & "<p>" & Danksagungen_formal(RandomIndex) & "</p>" & vbCrLf & "VG" & vbCrLf & "Fred" & cbcrlf & olItem.HTMLBody
    
    'Das Antwortfenster in den Vordergrund stellen
    olItem.Display
    
    'Das Antwortfenster fokussieren
    SetAppFocus olItem
    
    'Das Antwortfenster schließen
    Set olItem = Nothing
End Sub

Sub SetAppFocus(olItem As Object)
    ' Fokussiere das Outlook-Fenster
    olItem.GetInspector.Activate
End Sub

Die Danksagungen werden dabei in diesem Bereich angegeben:

' Array mit verschiedenen Danksagungen
    Danksagungen_formal(1) = "Vielen Dank für die Information!" & vbCrLf & "Die Projektarbeit macht einfach mehr Spaß wenn man so miteinander arbeitet :)"
    Danksagungen_formal(2) = "Ganz Lieben Dank und Ich schätze diese Unterstützung sehr. Vielen Dank!"
    Danksagungen_formal(3) = "Es freut mich, dass unsere Zusammenarbeit so gut funktioniert. Ganz Lieben Dank :)"
    Danksagungen_formal(4) = "Danke für die Unterstützung!"
    Danksagungen_formal(5) = "Herzlichen Dank für die Rückmeldung!"
    
    

Das Makro selbst, kann über den Punkt „Entwicklertools“ und „Makros“ aufgerufen werden.