mikmcmoe
Goto Top

Outlook 2010 neue Termine mit voreingestellten Teilnehmern

Hallo,
ich versuche meinen Kollegen, die Schichtpläne in Outlook 2010 erstellen, etwas unter die Arme zu greifen.
Wir haben hier zwei Schichtpläne mit zwei bis vier Schichten pro Tag in separaten Kalendern.
Ist es möglich in diesen Kalendern neue Termine so zu erstellen, das schon die jeweils in Frage kommenden Mitarbeiter als Teilnehmer eingetragen sind, und man als Planer nur den Haken an dem Kollegen setzen muss der in der Schicht dran sein soll?

Denn über die Terminplanungsansicht könnte so der Planer (Terminorganisator) schön sehen, wer wann Zeit hätte.

Content-ID: 229633

Url: https://administrator.de/contentid/229633

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

colinardo
colinardo 13.02.2014, aktualisiert am 17.02.2014 um 13:39:31 Uhr
Goto Top
Hallo mikmcmoe,
mit einem einfachen VBA-Script, das die Teilnehmer schon im Vorhinein in den Termin einträgt, kein Problem:
Sub newAppointment()
    Dim app As AppointmentItem
    Dim rec As Recipient
    Dim users(3)
    users(0) = "user1@domain.de"  
    users(1) = "user2@domain.de"  
    users(2) = "user3@domain.de"  
    If ActiveExplorer.CurrentFolder.DefaultItemType = olAppointmentItem Then
        Set app = ActiveExplorer.CurrentFolder.Items.Add(olAppointmentItem)
        For i = 0 To UBound(users) -1
            Set rec = app.Recipients.Add(users(i))
            rec.Sendable = False
        Next
        app.Display
    Else
        MsgBox "Sie müssen sich im Schichtplanungs-Kalender befinden!", vbExclamation  
    End If
End Sub
das ganze mit einem benutzerdefinierten Button im Ribbon kombiniert, fertig.

Grüße Uwe
Dani
Dani 13.02.2014 um 14:36:02 Uhr
Goto Top
Moin,
ansonsten könnte Quicksteps etwas für dich sein...


Grüße,
dani
mikmcmoe
mikmcmoe 13.02.2014 um 15:12:41 Uhr
Goto Top
Danke für die Tips, schau ich mir morgen mal genauer an.
mikmcmoe
mikmcmoe 17.02.2014 um 13:16:29 Uhr
Goto Top
Die Funktion "Quicksteps" kannte ich noch garnicht, damit lässt sich bestimmt einiges machen. Danke für den Tip!
Nur zu diesem Zweck reicht es leider nicht.
Ich denke mit dem Script kann ich mehr erreichen, dazu fehlen leider noch ein paar Feinheiten.

- Kann man den Zielkalender und damit den Organisator Festlegen? Die Kollegen, die die Pläne erstellen, erstellen diese nicht in ihrem eigenen Kalender.
- Jetzt muss man trotzdem noch einmal auf "Teilnehmer hinzufügen" klicken damit die Frei-/Gebucht-Zeiten der Teilnehmer angezeigt werden. Kann man das so ändern, dass die Zeiten gleich angezeigt werden?
- Kann man die Teilnehmer so einbinden, dass es wie eine Auswahlliste funktioniert? Jetzt haben alle Teilnehmer vorne einen Haken dran. Man muss also alle abwählen und nur einen anhaken.

Man merkt, mit VB gerade in Verbindung mit Outlook hab ich noch nicht viel gemacht.
colinardo
colinardo 17.02.2014 aktualisiert um 13:43:00 Uhr
Goto Top
Zitat von @mikmcmoe:
Ich denke mit dem Script kann ich mehr erreichen, dazu fehlen leider noch ein paar Feinheiten.
Hi auch das ist kein Problem, habe es oben nach deinen Vorstellungen angepasst. Für die Auswahl des Kalenders, geht der User in den jeweiligen Kalender und führt dann die obige Funktion aus. Dann wird der Termin in diesen Kalender eingetragen. Dies lässt sich auch anders machen, dazu sind aber mehr Infos von dir nötig, an welcher Stelle sich der Kalender in Outlook befindet bzw. wie und wo dieser eingebunden ist.

Das die Frei-/Gebucht Informationen angezeigt werden ist es eventuell nötig anstatt der Mail-Adresse den Namen anzugeben anstatt der Mail-Adresse, konnte das aber gerade nicht testen.

Grüße Uwe
mikmcmoe
mikmcmoe 28.02.2014 um 13:43:38 Uhr
Goto Top
Danke bis dahin.
Bei users(x) kann man beides eingeben, den Namen oder die Email, nach einer Weile wandelt Outlook im Terminplanungsassistenten die Emails sowieso in Namen um.
Ich habe mal mit "rec.Sendable" gespielt.
Mit rec.Sendable = false werden die Kollegen aufgelistet, aber die frei/gebucht-Zeiten werden nicht angezeigt.
Mit rec.Sendable = true werden die Kollegen aufgelistet und auch die frei/gebucht-Zeiten werden angezeigt.
Da ja das Ziel nur einen Kollegen zu finden ist, ist es jetzt natürlich müssig bei allen anderen Kollegen den Haken zu entfernen.
Ich hatte versucht eine kleine Schleife einzubauen um so erst rec.Sendable = true und dann rec.Sendable = false auszuführen, aber das ist mir leider nicht gelungen.

Hast Du da vielleicht noch eine Idee?
Schönes Wochenende wünsche ich trotzdem!
colinardo
colinardo 28.02.2014 aktualisiert um 14:03:29 Uhr
Goto Top
Hast du mal im Dialog unten auf den Button Options > Frei / Gebucht aktualisieren geklickt ?

kann es hier jetzt nicht mit Frei/Gebucht testen, aber probiers mal so, mit der zusätzlichen Schleife:
Sub newAppointment()
    Dim app As AppointmentItem
    Dim rec As Recipient
    Dim users(3)
    users(0) = "user1@domain.de"  
    users(1) = "user2@domain.de"  
    users(2) = "user3@domain.de"  
    If ActiveExplorer.CurrentFolder.DefaultItemType = olAppointmentItem Then
        Set app = ActiveExplorer.CurrentFolder.Items.Add(olAppointmentItem)
        For i = 0 To UBound(users) - 1
            Set rec = app.Recipients.Add(users(i))
            rec.Sendable = True
        Next
        For Each rcpt In app.Recipients
            rcpt.Sendable = False
        Next
        app.Display
    Else
        MsgBox "Sie müssen sich im Schichtplanungs-Kalender befinden!", vbExclamation  
    End If
End Sub
Grüße Uwe
mikmcmoe
mikmcmoe 28.02.2014 um 14:30:55 Uhr
Goto Top
Hallo Uwe,
leider geht das auch nicht.
Im Kalenderbereich sind die Zeilen der Kollegen schraffiert. Erst wenn ich die Haken setze kann ich die frei/gebucht-Einträge sehen.
Der Button "Options > Frei / Gebucht aktualisieren" aktualisiert nur die aktiven Teilnehmer.
Kann man sonst über ein zweites Makro die Teilnehmer deaktivieren?
colinardo
colinardo 28.02.2014 aktualisiert um 14:37:11 Uhr
Goto Top
Zitat von @mikmcmoe:
Kann man sonst über ein zweites Makro die Teilnehmer deaktivieren?
das macht das obige ja schon ... Zeile 14-16
muss mir das bei Zeiten mal genauer ansehen ... bis dahin...
Grüße Uwe