Zum Inhalt springen
Hilfe zu Outlook, Thunderbird, KuNoMail & Co.

Per VBA-Script 2 Kalender automatisch öffnen

Überblick

Status
Beantwortet
Gefragt von
Unbekannt
Gefragt am
Antworten
13
Letzte Antwort
von Unbekannt

Frage

Hallo,

ich hab ein Makro für Outlook 2003. Des Ding soll mir neben meinem Hauptkalender gleichzeitig 2 Kalender von Kollegen öffnen, die mir über Exchange freigegeben wurden. Und zwar soll das völlig automatisch beim Anklicken des Kalender-Symbols passieren.

Hier des Makro:

Sub DispCalendars()

Dim myOlApp As Outlook.Application

Dim myNms As Outlook.NameSpace

Dim myFolder As Outlook.MAPIFolder

Dim myRecipient As Outlook.Recipient

Dim myExplorer As Outlook.Explorer

Dim SharedFolder As Outlook.MAPIFolder

Set myOlApp = CreateObject(\“Outlook.Application\“)

Set myNms = myOlApp.GetNamespace(\“MAPI\“)

Set myFolder = myNms.GetDefaultFolder(olFolderCalendar)

Set myExplorer = myOlApp.ActiveExplorer

Set myExplorer.CurrentFolder = myFolder

Set myRecipient = myNms.CreateRecipient(\“e15xx\“)

Set myRecipient = myNms.CreateRecipient(\“e16xx\“)

Set SharedFolder = myNms.GetSharedDefaultFolder(myRecipient, olFolderCalendar)

myExplorer.SelectFolder SharedFolder

End Sub

PROBLEM 1: Wenn ich des Teil im laufenden Outlook-Betrieb ausführe, dann öffnet mir Outlook2003 neben meinem Standard-Kalender nur den Kalender „e16xx“, nicht aber den \“e15xx\“ auch noch. Irgendein Fehler in der Programmierung?

PROBLEM 2: Wie kann ich Outlook beibringen, dass er mir bei einem Klick auf das Kalender-Symbol dieses Makro ausführt?

Habt ihr mir einen Ansatz?

Grazie,

Gruß

Tobias

13 Antworten

13 Antworten anzeigen - 1 bis 13 (von insgesamt 13)
  1. Hallo,
    ich suche auch so etwas, wenn ich dein Makro übernehme dann öffnet sich nur der Kalender des Shared Folder aber mein Kalender bleibt nicht aktiv, erst wenn ich das Makro zum zweiten mal starte dann ist auch mein eigener Kalender aktiv. Damit man mehrere Kalender von anderen Benutzern aktivieren kann, muss man bestimmt eine Schleife bauen die das Setting zweimal durchläuft und somit die Variable zweimal aktiviert. (mit den unterschiedlichen Benutzer Namen)

  2. Hallo,
    bin nicht ganz so fit in Makros, aber:
    Du verwendest 2 mal die Variable myRecipent
    hintereinander.. Sollte man nicht für jeden
    Kalender eine eigene Variable verwenden?
    myRecipient1 und myRecipient2 z.B.

  3. ich habe jetz eine Variante hinbekommen die mir alle Kalender anzeigt wenn ich mich in der Ansicht der Kalender befinde (STRG+2), Wie kann ich die STRG+2 Tastenkombination in das Makro einbinden damit er erst in diese Ansicht spring ?

    Olaf Reis

    Dim myOlApp As Outlook.Application
    Dim myNms As Outlook.NameSpace
    Dim myFolder As Outlook.MAPIFolder
    Dim myRecipient1 As Outlook.Recipient
    Dim myRecipient2 As Outlook.Recipient
    Dim myRecipient3 As Outlook.Recipient
    Dim myRecipient4 As Outlook.Recipient
    Dim myExplorer As Outlook.Explorer
    Dim SharedFolder1 As Outlook.MAPIFolder
    Dim SharedFolder2 As Outlook.MAPIFolder
    Dim SharedFolder3 As Outlook.MAPIFolder

    Set myOlApp = CreateObject(\“Outlook.Application\“)
    Set myNms = myOlApp.GetNamespace(\“MAPI\“)
    Set myFolder = myNms.GetDefaultFolder(olFolderCalendar)
    Set myExplorer = myOlApp.ActiveExplorer
    Set myExplorer.CurrentFolder = myFolder
    Set myRecipient1 = myNms.CreateRecipient(\“Olaf.Reis\“)
    Set myRecipient4 = myNms.CreateRecipient(\“Karsten\“)

    Set sharedFolderCa = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(\“Kalender\“)

    Set SharedFolderCA1 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(\“Test1\“)

    Set SharedFolderKA = myNms.GetSharedDefaultFolder(myRecipient4, olFolderCalendar)

    Set SharedFolderOR = myNms.GetSharedDefaultFolder(myRecipient1, olFolderCalendar)

    myExplorer.SelectFolder sharedFolderCa
    myExplorer.SelectFolder SharedFolderKA
    myExplorer.SelectFolder SharedFolderCA1

    End Sub

  4. ich habe jetz eine Variante hinbekommen die mir alle Kalender anzeigt wenn ich mich in der Ansicht der Kalender befinde (STRG+2), Wie kann ich die STRG+2 Tastenkombination in das Makro einbinden damit er erst in diese Ansicht spring ?

    Olaf Reis

    Dim myOlApp As Outlook.Application
    Dim myNms As Outlook.NameSpace
    Dim myFolder As Outlook.MAPIFolder
    Dim myRecipient1 As Outlook.Recipient
    Dim myRecipient2 As Outlook.Recipient
    Dim myRecipient3 As Outlook.Recipient
    Dim myRecipient4 As Outlook.Recipient
    Dim myExplorer As Outlook.Explorer
    Dim SharedFolder1 As Outlook.MAPIFolder
    Dim SharedFolder2 As Outlook.MAPIFolder
    Dim SharedFolder3 As Outlook.MAPIFolder

    Set myOlApp = CreateObject(\“Outlook.Application\“)
    Set myNms = myOlApp.GetNamespace(\“MAPI\“)
    Set myFolder = myNms.GetDefaultFolder(olFolderCalendar)
    Set myExplorer = myOlApp.ActiveExplorer
    Set myExplorer.CurrentFolder = myFolder
    Set myRecipient1 = myNms.CreateRecipient(\“Olaf.Reis\“)
    Set myRecipient4 = myNms.CreateRecipient(\“Karsten\“)

    Set sharedFolderCa = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(\“Kalender\“)

    Set SharedFolderCA1 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(\“Test1\“)

    Set SharedFolderKA = myNms.GetSharedDefaultFolder(myRecipient4, olFolderCalendar)

    Set SharedFolderOR = myNms.GetSharedDefaultFolder(myRecipient1, olFolderCalendar)

    myExplorer.SelectFolder sharedFolderCa
    myExplorer.SelectFolder SharedFolderKA
    myExplorer.SelectFolder SharedFolderCA1

    End Sub

    Ich bin jetzt angemeldet ajoreis (Olaf Reis)

  5. Die Lösung sieht so aus:

    Sub Kalender2()
    Dim myOlApp As Outlook.Application
    Dim myNms As Outlook.NameSpace
    Dim myFolder As Outlook.MAPIFolder
    Dim myRecipient1 As Outlook.Recipient
    Dim myRecipient2 As Outlook.Recipient
    Dim myRecipient3 As Outlook.Recipient
    Dim myRecipient4 As Outlook.Recipient
    Dim myExplorer As Outlook.Explorer
    Dim SharedFolder1 As Outlook.MAPIFolder
    Dim SharedFolder2 As Outlook.MAPIFolder
    Dim SharedFolder3 As Outlook.MAPIFolder

    \‘ Menue und Explorer Kalender Öffnen
    SendKeys \“^2\“, True

    \‘ Variable für die Kalender im den Öffentlichen Ordnern
    KA1 = \“Kalender cas_data GmbH\“
    KA2 = \“Test1\“

    Set myOlApp = CreateObject(\“Outlook.Application\“)
    Set myNms = myOlApp.GetNamespace(\“MAPI\“)
    Set myFolder = myNms.GetDefaultFolder(olFolderCalendar)
    Set myExplorer = myOlApp.ActiveExplorer
    Set myExplorer.CurrentFolder = myFolder

    Set myRecipient1 = myNms.CreateRecipient(\“Olaf\“)
    Set myRecipient2 = myNms.CreateRecipient(\“Karsten\“)

    Set sharedFolderOR = myNms.GetSharedDefaultFolder(myRecipient1, olFolderCalendar)
    Set sharedFolderKAR = myNms.GetSharedDefaultFolder(myRecipient2, olFolderCalendar)

    Set sharedFolderKA1 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(KA1)
    Set sharedFolderKA2 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(KA2)

    myExplorer.SelectFolder sharedFolderOR
    myExplorer.SelectFolder sharedFolderKAR

    myExplorer.SelectFolder sharedFolderKA1
    myExplorer.SelectFolder sharedFolderKA2

    End Sub
    😉

  6. Hallo,
    bin neu hier und hab das Makro ja schon mal zum laufen gebracht,
    aber nur in dem ich die zeilen wie folgt auskommentiert habe

    was muss ich den in den nächsten beiden zeilen eingeben bzw. wo bekomm ich das raus?

    danke
    egbert

    Set myRecipient1 = myNms.CreateRecipient(\“egbert\“)
    Set myRecipient2 = myNms.CreateRecipient(\“homeister\“)

    \’Set sharedFolderOR = myNms.GetSharedDefaultFolder(myRecipient1, olFolderCalendar)
    \’Set sharedFolderKAR = myNms.GetSharedDefaultFolder(myRecipient2, olFolderCalendar)

    Set sharedFolderKA1 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“KEN! Organizer\“).Folders(\“Allgemein\“).Folders(KA1)
    Set sharedFolderKA2 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“KEN! Organizer\“).Folders(\“Allgemein\“).Folders(KA2)

    \’myExplorer.SelectFolder sharedFolderOR
    \’myExplorer.SelectFolder sharedFolderKAR

  7. Hallo,
    Das sind die Benutzer im AD

    Set myRecipient1 = myNms.CreateRecipient(\“egbert\“)
    Set myRecipient2 = myNms.CreateRecipient(\“homeister\“)

    \’Set sharedFolderOR = myNms.GetSharedDefaultFolder(myRecipient1, olFolderCalendar)
    \’Set sharedFolderKAR = myNms.GetSharedDefaultFolder(myRecipient2, olFolderCalendar)

    für die Benutzer braucht man keinen Öffentlichen Ordner angeben die werden mit
    dem Befehl:

    myExplorer.SelectFolder sharedFolderOR
    myExplorer.SelectFolder sharedFolderKAR

    sichbar gemacht.

    Das sind Öffentliche Ordner im Exchange die unterschiedlich sein können,

    Set sharedFolderKA1 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(KA1)

    cas_data GmbH ist der erste Folder, KA1 ist die Bezeichnung des Kalender und eine Variable

    KA1 = \“Kalender cas_data GmbH\“

    Der öffentliche Ordner wird hiermit sichtbar gemacht.

    myExplorer.SelectFolder sharedFolderKA1

    Ich hoffe ich konnte estwas helfen.

    Olaf

  8. Hallo Olaf,
    leider wird bei mir immer nur ein Kalender angezeigt.
    Eigentlich will ich auch nur zwei öffentliche Kalender gleichzeitig sehen (also so als ob ich in der kalender ansicht die beiden kalender anhake)

    das makro ruft aber immer nur einen kalender auf,
    Kalender von den benutzern brauch ich überhaupt nicht.

    was muss ich dazu tun ?

    Kann man in Outlook makros aufzeichnen ???

    dan würde ich das anhaken der kalender einfach aufzeichnen

    mfg
    egbert

  9. Hallo Egbert,
    in Outlook kann man keine Macros aufzeichnen,
    damit alle Kalender gleichzeitig dagestellt werden können mußt du
    mit SendKeys \“^2\“ True (STRG+2 Tastenkombi), die Ansicht im Outlook ändern.

    Da habe ich mir auch die Zähne ausgebrochen.

    Ich habe auch versucht die Haken per Makro zu setzen, keine Mögliglichkeit gefunden.

    Hier nochmals ein Beispiel für dich, es werden nur die Öffentliche Ordner und der eigen Kalender geöffnet.

    Olaf

    Sub Kalender2()
    Dim myOlApp As Outlook.Application
    Dim myNms As Outlook.NameSpace
    Dim myFolder As Outlook.MAPIFolder
    Dim myExplorer As Outlook.Explorer
    Dim SharedFolder1 As Outlook.MAPIFolder
    Dim SharedFolder2 As Outlook.MAPIFolder

    \‘ Menue und Explorer Kalender Öffnen
    SendKeys \“^2\“, True

    \‘ Variable für die Kalender im den Öffentlichen Ordnern
    KA1 = \“Kalender cas_data GmbH\“
    KA2 = \“Test1\“

    Set myOlApp = CreateObject(\“Outlook.Application\“)
    Set myNms = myOlApp.GetNamespace(\“MAPI\“)
    Set myFolder = myNms.GetDefaultFolder(olFolderCalendar)
    Set myExplorer = myOlApp.ActiveExplorer
    Set myExplorer.CurrentFolder = myFolder

    Set sharedFolderKA1 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(KA1)
    Set sharedFolderKA2 = Application.GetNamespace(\“MAPI\“).Folders.Item(\“Öffentliche Ordner\“).Folders(\“Alle öffentlichen Ordner\“).Folders(\“cas_data GmbH\“).Folders(KA2)

    myExplorer.SelectFolder sharedFolderKA1
    myExplorer.SelectFolder sharedFolderKA2

    End Sub

  10. Hallo Olaf,
    tatsächlich,
    wenn ich das Makro zweimal aufrufe geht es so wie es soll.
    drei kalender in der ansicht und KEIN Haken gesetzt !
    Microsoft halt, es geht aber nicht so wie man denkt …

    Kann ich das makro irgendwie automatisch starten ?
    oder wenn man auf den kalenderbuttoon klickt ?

    mfg
    Egbert

  11. Hallo Egbert,
    das habe ich auch noch nicht gefunden, man könnte ja den Kalenderbutten austauschen,
    (Makro Ersatz). Wenn du zeit hast mach doch mal für die beiden Punkte ein neues Anfrage auf. Ich habe leider keine Zeit. 🙁

    Wenn du das weiter gekommen bist schicke mir bitte eine Antwort

    Besten Dank

    Olaf

  12. Vieeeeelen Dank!

    Als absoluter Makro-n00b hab ich genau sowas gesucht.

    Hab mir etz so zurechtgebogen, dasses mir als Standard die 3 Kalender meiner Arbeitskollegen anzeigt und die Kontakte meines Chefs. Jetz muss ichs nur noch fürn Kunden umschreiben.

    Geiles Ding! 😉

  13. nochwas @Egbert:

    wahrscheinlich eh zu spät, aber vielleicht interessierts auch andere.

    um n makro automatisch beim start ausführen zu lassen, bei der startverknüpfung folgenden parameter mit angeben: \“/autorun namedeinesmakros\“ natürlich ohne die \“….

    mehr parameter gibts hier http://www.administrator.de/Outlook_Befehlszeichen.html

13 Antworten anzeigen - 1 bis 13 (von insgesamt 13)
  • Sie müssen angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.