आउटलुक 2013 वीबीए साझा कैलेंडर साझा करें

मेरे पास कुछ वीबीए कोड है जो कैलेंडर को एक नई विंडो में खुलता है, लेकिन अब मुझे साझा कैलेंडर को प्रदर्शित करने की आवश्यकता है जिसे मैंने पहले से ही सेटअप कर लिया है, लेकिन एकमात्र कोड जो मैं पा सकता हूं नई विंडो में एक नया साझा कैलेंडर बनाता है मैंने अभी बनाया है;

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("Bob the Builder")
    Set SharedFolder = myNms.GetSharedDefaultFolder(myRecipient, olFolderCalendar)
    myExplorer.SelectFolder SharedFolder
End Sub

अगर मैं 'myRecipient' भाग में केवल एक नाम में बदल जाता हूं, तो यह त्रुटियां और मैं इसे काम नहीं कर सकता।

Here is something how it looks (when I do it manually) and I would like to recreate it in code.

1
जोड़ा संपादित
विचारों: 1
तो समस्या यह है कि GetSharedDefaultFolder किसी विशेष नाम के लिए कोई त्रुटि देता है? सटीक त्रुटि क्या है? यदि आप संपादन बॉक्स में समान मान टाइप करते हैं और Ctrl + K दबाते हैं तो Outlook इसे हल कर सकता है?
जोड़ा लेखक Dmitry Streblechenko, स्रोत

1 उत्तर

मुझे लगता है कि आप Outlook में चुने गए फ़ोल्डर को दिखाने के लिए लाइन को याद करते हैं

    myExplorer.CurrentFolder = SharedFolder 

मुझे लगता है कि "selectfolder" की बजाय -लाइन ... कुछ अन्य लाइनों को भी हटाया जा सकता है, espacially

MyExplorer.CurrentFolder = myFolder सेट करें

क्योंकि यह एक उप में एक के बाद दो फ़ोल्डरों को खोलने के लिए प्रेषण नहीं करता है।

आपका अपना मैक्स

1
जोड़ा