Per VBA-Script 2 Kalender automatisch öffnen

Home-›Foren-›Outlook-›Outlook VBA-›Per VBA-Script 2 Kalender automatisch öffnen

14 Antworten anzeigen - 1 bis 14 (von insgesamt 14)
  • Autor
    Beitrag
  • #36105
    Unbekannt
    Participant

      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

      #130443
      Unbekannt
      Participant

        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)

        #130459
        Unbekannt
        Participant

          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.

          #130527
          Unbekannt
          Participant

            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

            #130528
            ajoreis
            Participant

              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)

              #130571
              ajoreis
              Participant

                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
                😉

                #130780
                man10to
                Participant

                  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

                  #130798
                  ajoreis
                  Participant

                    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

                    #130799
                    Unbekannt
                    Participant

                      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

                      #130802
                      ajoreis
                      Participant

                        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

                        #130803
                        Unbekannt
                        Participant

                          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

                          #130806
                          ajoreis
                          Participant

                            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

                            #143558
                            Unbekannt
                            Participant

                              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! 😉

                              #143559
                              Unbekannt
                              Participant

                                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

                              14 Antworten anzeigen - 1 bis 14 (von insgesamt 14)

                              Hat Ihnen der Beitrag gefallen?

                              1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
                              Loading...