Ich arbeite mit verschiedenen Bildungsanbietern zusammen und immer wieder kommt es vor, dass die mir Termine schicken mit der Bitte, diese frei zuhalten. In meinem Kalender trage ich diese Termine mit einer Kategorie Namens "Schulungsanfrage / Planung" ein. Sehr oft kommt dann einer dieser Termine auch zustande und ich muss die Kategorie von der "Planung" zur "Schulung" wechseln. Normalerweise muss nun mit der Maus auf die Kategorie geklickt werden und erst die eine ausgeschaltet und dann die andere eingeschaltet werden oder umgekehrt.

Die Möglichkeit hier einen Schnellklich zu setzen geht leider nicht.

Programmierer sind bekanntlich faule Menschen und so musste ein Makro her, das mir diese Prozedur mit einem Klick erledigt.

Wenn Sie mit der Programmierung nicht vertraut sind, finden Sie hier ein kleines Tutorial wo und wie Sie den Code eingeben müssen:

 

explorer 03Wer unerfahren ist und nicht weiß, wohin mit dem Code, der drücke in seinem Outlook einfach das Tastaturkürzel ALT+F11. Damit öffnet sich der Visual Basic Editor. Unten links sollte ein "Modul1" stehen. Machen Sie bitte einen Doppelklick auf "Modul1" und schreiben Sie den Code rechts in den Editorbereich

Wer kein "Modul1" hat, kann über das Menü Einfügen/Modul selbiges zufügen.

 Wenn Sie fertig sind und den Code eingetragen haben, klicken Sie links auf das kleine Diskettenymbol und speichern damit Ihre Arbeit. Danach steht Ihnen dieser Code immer zur Verfügung,

 

 

 

 

Sub KatAustausch()
'Makro tauscht die Kategorie einer Schulungsplanung in eine gesetzte Schulung aus.
On Error Resume Next

Dim Termin As Object, OutApp As Object,objExplorer As Object

Set OutApp = CreateObject("Outlook.Application")
Set objExplorer = OutApp.ActiveExplorer
Set Termin = objExplorer.Selection
Termin.Item(1).Categories = ""
Termin.Item(1).Categories = "Schulungen"
End Sub

 

Sie müssen zunächst eine Verbindung zu Ihrem Outlook herstellen. Das Makro muss wissen, was es genau machen soll. Deshalb wird ihm zunächst mitgeteilt, dass es um eine Outlook Application geht. Das erscheint etwas widersinnig, da wir ja bereits mitten in der Applikation sind, aber beim Programmieren müssen wir es noch einmal explizit zuweisen, da ja durchaus auch anderer Code möglich ist.

Da wir einen Termin editiert haben, weisen wir eben diesen unserer Objektvariablen objExplorer zu und schließlich der Objektvariablen Termin den editierten und damit selektionierten Termin.

Dort ist es das erste Item, in dem die Kategorie gespeichert ist. Die vorhandene wird ausgetauscht und mit der neuen Kategorie Namens "Schulungen" ersetzt:

Das eigentlich komplizierte sind die vielen Objekte, die gesetzt werden müssen.

Der Code selber funktioniert nur, wenn ein Termin mit einer bereits bestehenden Kategorie editiert wird. Hat der Termin noch keine Kategorie, gibt es entweder eine Fehlermeldung oder es passiert nichts. Abhängig davon, wie Sie den VBA-Editor eingestellt haben.

Tipp: ich habe eine feste Kategorie vergeben, die auch in meiner Kategorieliste exisiert und dort mit der grünen Farbe hinterlegt ist. Nehmen Sie also eine Kategorie aus Ihrer Liste, erscheint die auch in der dort hinterlegten Farbe. Wenn Sie die Kategorien dynamisch vergeben möchten, fügen Sie eine Inputbox ein und weisen die Kategorie entsprechend mit einer Variablen zu.