Veröffentlicht am

Geburtstagslisten

Geburtstagsliste 2.0

Ich habe eine Geburtstagsliste im Excel Format xls erhalten und will diese nun mit ein paar Handgriffen in Outlook-Termine verwandeln, so dass ich künftig keinen Geburtstag im Hause verpassen muss.

Auf anderem Weg werden wir entweder gezwungen den Kugelschreiber in die Hand zu nehmen oder uns die Mühe zu machen für jeden Kollegen eine Terminerinnerung zu erstellen. Das kann bei vielen Kollegen ziemlich tagfüllend sein.

Um dieses Verfahren möglichst transparent und damit auf andere Prozesse übertragbar zu machen, habe ich privat diese Dokumentation erstellt. Microsoft (M$) macht uns in diesem Fall die Arbeit nicht wirklich leicht, und umso mehr kommt es deswegen darauf an, dass wir uns mit den Dateiformaten der „Arbeitsmappen“ auseinandersetzen.

Beginnen wir mit einer Begriffsdefinition: CSV – Comma-Separated Values

zu Deutsch : durch Komma getrennte Daten(sätze).

Microsoft hat sich überlegt, dass die Nutzung dieses Dateiformates auch innerhalb der Tabellenkalkulation Excel irgendwie Sinn macht. Das tut es auch, denn in der Tat sind CSV–Daten das übliche Format zum Im- und Export von Datensätzen in vielen verschiedenen Anwendungen.

Viele nutzen für den Umgang mit CSV Dateien Excel, wissen aber nicht, dass Microsoft grundsätzlich „ ; “ als sogenanntes Trennzeichen der Dateninhalte einsetzt.

Warum ist es wichtig das zu wissen?

Nun ja, in diesem Fall wollen wir mit Outlook einen Geburtstagskalender erstellen und benötigen zum sauberen Import auch eine „saubere“ .csv Datei, die keine „ ; “ als Trennzeichen hat, sondern so wie es das Dateiformat vorgibt CSV, also durch Komma getrennte Werte…

Das Übel offenbart sich dem versierten Anwender, indem er einen einfachen Texteditor (zb das Programm „Editor“) bemüht, die Inhalte jener abgespeicherten Excel (Geburtstags) CSV Datei anzuzeigen.

Wir sehen hier durch Semikolon getrennte Dateninhalte!

So können wir die Datei nicht zum Import in einen Outlook Kalender nutzen weil Outlook an dieser stelle das Excel csv nicht lesen kann. (Bezug Outlook csv-Dateiimport)

Dass Trennzeichen Komma ist auch irgendwie aus der Mode gekommen, weil es unter anderem auch Datensätze gibt, die Kommata enthalten… Das stimmt! , müssen sich die Entwickler in der Excelstube gedacht haben und setzten fortan das ohnehin in der deutschen Sprache überflüssig erscheinende Semikolon ein; da wir aber ohnehin die versaute Datei grade geöffnet haben, können wir den Editor gleich bemühen, nach „;“ zu suchen und es an der jeweiligen Stelle wo es vorkommt durch ein „ , “ ersetzen. Diese Funktion nennt sich „Suchen und Ersetzen“ und wird im Editor über die Menuzeile „Bearbeiten“ angesteuert. Dort nennt diese sich der Einfachheit halber lediglich „Suchen“.

MERKE: Wenn Du in M$ Excel eine CSV abspeicherst ohne böses zu denken musst du damit rechnen, dass Excel Dir statt einer CSV eine SSV ((SemicolonSeparatetdValues)#neuland) abspeichert. Öffne die sogenannte CSV in einem Texteditor und überprüfe ob die Trennzeichen korrekt* gesetzt sind.

*korrekt bedeutet an dieser Stelle: zu der jeweiligen Importanwendung passend, die wir einzusetzen gedenken. Hier der M$ Outlook ImportAssistent.

Da wir keine Dateien versauen nutzen wir zum Abspeichern der geänderten Inhalte nun die Funktion „seichern unter“ und geben einen geeigneten neuen Speicherort und Namen für die Liste an. Nennen wir Sie am besten gleich „Geburtstage_Outlook.csv“

„Was braucht ein Outlook-Termin denn so um leben zu können?“ – sollte die nächste Fragestellung sein.

Unter anderem haben wir im Texteditor zwischen den mittlerweile ersetzten ;-Zeichen nun die Inhalte: Betreff, Start am, Endet am, und jede Menge Ein-Aus Funktionsschalter (Funktion siehe Kopfzeile)

Um nun nicht zu weit in den Sumpf der von Outlook benötigten Dateiinhalte abzugleiten, lassen wir doch outlook selbst die Arbeit machen.

Wir erstellen einfach einen neuen Kalender und nennen ihn „Gebutstage“.

Darin erstellen wir einfach einen einzelnen Termin „DEMOgeburtstag“, mit allem schicki micki. Wann wollen wir erinnert werden, und wie… .

Wenn wir damit fertig sind, exportieren wir den Kalender mit Hilfe des Exportassistenten von Outlook einfach in eine CSV-datei und nennen ihn DEMOkalender.csv

Hierfür bemühen wir einfach die Exportfunktion von Outlook, welche sich in moderneren Versionen im „Datei“-Menu befindet. Durch den Assistenten klicken wir mit den nötigen (eindeutigen Anweisungen) so dass am Ende eine Demo.CSV entsteht.

Ist der Demokalender einmal in Excel geöffnet dann sehen wir, dass wir nichts sehen, denn CSV Formate müssen exelintern erst mal in eine lesbare Form gebracht werden. Die „Daten“ Funktion „Text in Spalten sortieren.“ bringt uns hier weiter.

Nun da sich unser Demokalender im Outlook-kompatiblen Format befindet und wir Excel mühsam überredet haben uns den Inhalt zu präsentieren sehen wir jede Menge Spalten mit jeder Menge nützlicher und unnützlicher Informationen zu dem Demotermin.

Aber Vorsicht. Veränderungen in den Spalten, somit also in der Anzahl der vorhanden Datensätze in einer Zeile, führen beim Import der CSV Datei in den Outlook Kalender zu Problemen. (geht nicht wegen Komma und Semikolon und überhaupt muss die Anzahl der erwarteten Datensätze in einer Zeile definiert sein… und das ist dieser auch.)

Wir verändern also nichts in den vorhandenen Spalten, denn es handelt sich hier ja schließlich um unseren Outlook-Musterdemotermin mit unseren gewünschten Erinnerungseinstellungen usw.

Und nehmen alle Felder brav mit.

Jede Geburtstagsliste hat so Ihre Eigenarten. Die eine ist grün, die andere rot, sogar in lila hab ich schon welche gesehen – aber noch keine in einem Outlook-Kompatiblen Format, welche wir in den eingesetzten Kalender oder einen eigens dafür erstellen Kalender importieren könnten.

Genug geeiert, an die Arbeit.

Bei genauerem hinsehen sehen wir in unserer Demo.csv Datei Spaltenüberschriften wie

Betreff,Ort,usw – schnell erkennen wir, dass für einen sinnvollen Termineintrag in diesem Fall das Feld „Start am“ wichtig ist. Hier sollte aber nicht stur der Geburtstag desjenigen stehen, sondern wann er seinen nächsten Geburtstag feiert. Wir wechseln also erst einmal in unsere originale Geburtstagliste und erweitern diese um die Spalte „nächster Geburtstag am“ DD.mm.yyyy.

Das Internet verrät auf kurzen Blick hin folgende Formel dafür:

=TEXT(DATUM(JAHR(HEUTE())+(DATUM(JAHR(HEUTE());MONAT(B2);TAG(B2))<HEUTE());MONAT(B2);TAG(B2));“TT.MM.JJJJ“)

b2 ist in diesem Fall das Geburtsdatum aus der Liste.

Unsere Geburtstagsliste enthält aber keine solch schmucken Spalten, und auch nicht so viele.

Jetzt schon.

Wir erstellen nun ein zusätzliches Arbeitsblatt für die Outlook Terminliste.

Hierein kopieren wir uns nun die von Outlook benötigten Spalten und verändern sonst gar nix.

Nun arbeiten wir mit Tabellenbezügen auf die originale Tabelle.

Wir holen uns für das Feld Betreff den Namen aus der Liste und Stellen den Datensatz so zuammen, dass im Feld Betreff dann so etwas steht wie „Geburtstag von Hans Meiser“.

Des weiteren benötigen wir im Feld „Start am“ den nächsten Geburtstag. Da wir ja unseren Demotermin in Outlook gleich so eingerichtet haben, dass am Vortag eine Erinnerung erfolgt brauchen wir nun nichts weiter zu tun als die gesamte manipulierte Zeile mit ihren Datenbezügen auf die Gesamtanzahl aller in der Geburtstagsliste vorhandenen Mitarbeiter auszuweiten.

Outlooktermine exportieren wir nun als .csv Datei und prüfen anschließend in einem Texteditor die korrekte Formatierung für den Outlookimport. Wir ersetzen alle „ ; “ durch „ , “.

Jetzt können wir den Demotermin in unserem Kalender löschen und importieren über den Importassistenten von Outlook unsere erstelle .csv

Im Assistenten sollte es aufgrund unserer fleißigen Vorarbeit nun auch bei den Standarteinstellungen bleiben dürfen, wobei wir das erstellen von Duplikaten grundsätzlich vermeiden und auch wieder darauf achten, dass das eingesetzte Trennzeichen nun das Komma ist.

Und schon fertig, alle Kollegen haben Platz in einem eigenen Geburtstagskalender. Egal ob das Kollegium 5 oder 5000 Personen stark ist, die Lösung bleibt die selbe.

Hinweis an die Lektorenrunde:

Auf diese Weise lassen sich beliebige .csv Terminlisten zum Outlookimport bereitstellen. Weltklimagipfel, oder Releasetermine, Inkrafttreten von neuen Gesetzesauflagen… alles im Kalender 😉

Nun ist es Zeit im SSV zu schnüffeln und das ein oder andere Schnäppchen zu ergattern.