Outlook Geburtstage

Das Alter bei Geburtstagen im Outlook-Kalender anzeigen

Sie haben für Ihre Kontakte im Adressbuch den jeweiligen Geburtstag eingetragen? Sie möchten aber nicht nur wissen, wer wann Geburtstag hat, sondern auch wie alt er wird? Dann lassen Sie doch von Outlook das Alter Ihrer Kontakte errechnen und anzeigen. Wir zeigen Ihnen wie es geht, denn im Outlook-Standard ist diese eigentlich nützliche Funktion leider nicht enthalten.

ProblemGeburtstage in Outlook Zahlen

Geburtstage sind in Outlook nicht immer ein Grund zu feiern. Was mittlerweile jedes Handy kann  – das Alter direkt beim Geburtstag eines Kontaktes anzeigen – wird in Microsoft Outlook zu einer nervigen Rechnerei. Wer sich diese Rechnerei sparen will, dem zeigen wir hier, wie man die Altersangabe direkt im Kalender anzeigen lassen kann.

Verschiedene Lösungsansätze

Für die Lösung finden sich im Netz verschiedene Ansätze. Die meisten nutzen tabellarische Listen, die man sich als neue Ansicht im Kalender oder in den Outlook-Kontakten erstellen muss. Andere fügen das Alter eines Kontakts in die Adresskarten ein. Hierfür muss die Ansicht der Adresskarten angepasst und ein neues Feld eingefügt werden.

Diese Lösungsansätze haben aber in meinen Augen zwei Nachteile:

  1. Ich muss meine „normalen“ Ansichten ändern, was ein nicht unerheblicher Aufwand ist.
  2. Wenn ich einen Geburtstag im Kalender sehe, muss ich immer die Ansicht wechseln um herauszufinden, in welchem Jahr die Person geboren ist und wie alt sie wird.

Wir haben eine Lösung für Sie gefunden, die das Alter direkt im Kalender neben dem Geburtstag anzeigt. Es handelt sich bei der Lösung um ein Stückchen Programmierung, einen VBA-Code, den aber auch ein Laie problemlos in sein Outlook einfügen kann.

Warnung und Einschränkungen

Wir haben den Code nach bestem Wissen und Gewissen getestet. Allerdings kann bei solch einem Test nicht jede Eventualität berücksichtigt werden. Die Benutzung des Codes geschieht auf eigene Gefahr und Verantwortung.

Um eventuelles Fehlverhalten auszuschließen, haben wir die Terminsuche etwas eingeschränkt. Es werden nur Termine berücksichtigt, die folgende Eigenschaften aufweisen:

  1. Der Termin ist als ganztägiges Ereignis in den Kalender eingetragen.
  2. Der Betreff des Termins beginnt mit Geburtstag von

Sollten Sie einen Geburtstag manuell in den Kalender eintragen, müssen Sie auf diese Einstellungen achten. Bei manuellen Einträgen ist auch darauf zu achten, dass die Eigenschaften des Serientermins richtig gewählt sind. Im schlimmsten Fall wird sonst der Termin täglich im Kalender erscheinen. Hier ein Beispiel für die richtigen Einstellungen der Terminserie:

Outlook Terminserie

Outlook Terminserie

Diese Anforderungen werden von Outlook automatisch erfüllt, wenn Sie den Geburtstag direkt bei einem Kontakt eintragen.

Ein Schönheitsfehler, den der Code (noch) hat, ist das angezeigte Alter. Das Makro berechnet das Alter anhand von Geburtsjahr und aktuellem Datum. Somit wird für jeden Geburtstag einer Person immer das aktuelle Alter angezeigt. Wundern Sie sich also nicht, wenn Sie bei Ihrer Geburt schon 35 Jahre alt sind. Wir arbeiten noch an einer Erweiterung, die bei jedem Eintrag auch das tatsächliche Alter der Person zu diesem Termin angibt.

Anleitung

Die Anleitung basiert auf der Version Outlook 2013, ist aber in der Version 2010 identisch. Für die Version Outlook 2007 ändert sich nur die Art und Weise, wie die Registerkarte Entwicklertools einzublenden ist.

Entwicklertools einblenden

Um den Code in Outlook zu implementieren, müssen Sie als erstes das Register Entwicklertools im Menüband einblenden.

Hierzu klicken Sie in den Versionen 2010 und 2013 im Menüband auf DATEI.

Outlook Menüband

Outlook Menüband

Sie gelangen in den Backstagebereich und wählen den Eintrag Optionen.

Backstagebereich

Backstagebereich

Es erscheint das Dialogfenster Outlook Optionen. Dort setzen Sie unter Menüband anpassen im rechten Teil des Fensters ein Häkchen beim Eintrag Entwicklertools.

Outlook Optionen

Outlook Optionen

Nachdem Sie das Dialogfenster mit OK verlassen haben, sollten die Entwicklertools im Menüband sichtbar sein.

In der Version 2007 klicken Sie auf die Officeschaltfläche.Wählen Sie unten rechts in dem Fenster die Schaltfläche Optionen aus.  Klicken Sie auf Anpassen und ativieren Sie dann das Kontrollkästchen Entwicklerregisterkarte in der Multifunktionsleiste anzeigen.

VBA Code einfügen

Starten Sie den VBA-Editor, indem Sie in den Entwicklertools auf die Schaltfläche Visual Basic klicken.

Start des VBA Editors

Start des VBA Editors

Fügen Sie, wie in der Abbildung dargestellt, ein neues Modul ein. Hierzu klicken Sie auf Einfügen und wählen Modul aus.

Modul einfügen

Modul einfügen

Im VBA-Editor erscheint links der Eintrag Modul mit dem Untereintrag Modul1 und rechts das leere Modulfenster.

Der VBA Editor

Der VBA Editor

Kopieren Sie nun diesen VBA-Code in das leere Modulfenster:

Sub AlterAnzeigen()

Dim myNameSpace As NameSpace

Dim Alter As String
Dim Zaehler
Dim GebJahr

Set myolApp = CreateObject("Outlook.Application")
Set myNameSpace = myolApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderCalendar)
Set myitems = myFolder.Items

Zaehler = 0

'Suche nach dem Begriff "Geburtstag von" in allen Kalendereinträgen
For i = myitems.Count To 1 Step -1
    'Prüfung der Kalendereinträge auf den Text "Geburtstag von"
    'und Überprüfung ob es sich um ein ganztägiges Ereignis handelt
    If InStr(myitems(i).Subject, "Geburtstag von") _
    And myitems(i).AllDayEvent = True Then
      myitems(i).Display
      GebJahr = myitems(i).GetRecurrencePattern.PatternStartDate
      Alter = DateDiff("yyyy", GebJahr, Now())                    'Hier wird das Alter errechnet
      myitems(i).Location = "[Alter: " + Alter + "]"
      myitems(i).Save
      myitems(i).Close 0
      Zaehler = Zaehler + 1    'Zähler für die Anzahl der geänderten Einträge
    End If
Next

MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "
End Sub

Das Ergebnis sollte in etwa so aussehen:

Modulfenster mit eingefügtem VBA Code

Modulfenster mit eingefügtem VBA Code

Speichern Sie das Modul und verlassen Sie den VBA-Editor.

Makro ausführen

Um die Altersangabe nun in den Kalender einzutragen, wählen Sie im Register Entwicklertools die Schaltfläche Makros aus und klicken Sie auf den Eintrag Projekt1.AlterAnzeigen.

Makro ausführen

Makro ausführen

Erscheint an dieser Stelle ein Sicherheitshinweis von Outlook, so klicken Sie bitte auf Makros aktivieren und führen den vorherigen Schritt nochmals aus.

Sicherheitshinweis

Sicherheitshinweis

Das Makro beginnt nun, alle ganztägigen Kalendereinträge nach dem Schlüsselwort „Geburtstag von“ zu durchsuchen. Dies kann, abhängig von der Menge der Einträge, eine Weile dauern. Immer wenn ein Geburtstagseintrag gefunden wird, wird das Alter der Person errechnet und, das ist der kleine Trick an dieser Lösung, in das Feld „Ort“ eingefügt. Dass das Makro aktiv ist kann man daran erkennen, dass der Bildschirm „zuckt“. Dieses „Zucken“ ist in Outlook leider nicht abzustellen. (Anmerkung: Wenn jemand eine Lösung kennt, wie man diesen Effekt unterbinden kann, bin ich für jeden Tipp dankbar.)

Sind alle Einträge durchsucht, erscheint folgende Meldung:

Abschlussmeldung

Abschlussmeldung

Nehmen Sie nun Änderungen an den Geburtsdaten vor, fügen einem Kontakt einen Geburtstag hinzu oder tragen einen Geburtstag als Serientermin direkt in den Kalender ein, müssen Sie das Makro nochmals aufrufen.

Bei einem erneuten Aufruf werden wieder ALLE Geburtsdaten ermittelt, das Alter wird neu berechnet und eingetragen. Dies kann zwar auch wieder eine kleine Weile dauern, aber es erschien uns als sicherste Lösung. Eine Idee war, dass das Makro nur neu eingetragene Geburtsdaten überprüfen sollte, um die Laufzeit zu verkürzen. Allerdings würden dann Änderungen in schon vorhandenen Altersangaben nicht korrigiert.

Wenn Sie nun in den Kalender schauen, wird die Altersangabe angezeigt. Die Darstellung hängt von der gewählten Kalenderansicht ab. Hier sehen Sie einen Ausschnitt aus der Monatsansicht.

Kalenderansicht mit Altersangabe

Kalenderansicht mit Altersangabe

Probleme?

Das Makro funktioniert in den Versionen Outlook 2007, Outlook 2010 und Outlook 2013 problemlos. Natürlich hatten wir beim Testen ein paar kuriose Ergebnisse, wie z.B. falsche Altersangaben oder einen Geburtstag der plötzlich täglich gefeiert werden sollte.

Alle diese Fehleintragungen ließen sich aber auf falsche Angaben im Geburtsdatum oder bei der Einstellung der Serienterminoptionen zurückführen (siehe Warnung und Einschränkungen).

Sollten Sie eventuell doch Fehler finden, so bitte ich um einen kurzen Kommentar.

Und nun viel Spaß beim Eintragen der Altersangaben!

Noch mehr Wissen?

Wenn Sie noch mehr Informationen zu Outlook und den Möglichkeiten wissen möchten, nicht nur Ihre Termine perfekt zu organisieren, dann besuchen Sie doch eine Outlook Schulung bei INCAS Training!

Bildnachweis: © Ruth Black – Fotolia.com; © babimu – Fotolia.com

Comments are closed.

Kategorien

Archiv