2013-11-22 80 views
1

我有一些VBa代碼,在新窗口中打開日曆,但我現在需要它來顯示我已經安裝的共享日曆,但唯一的代碼,我可以找到在我剛剛創建的新窗口中創建新的共享日曆;展望2013 VBA顯示共享日曆

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是它看起來的樣子(手動操作時),我想在代碼中重新創建它。

+0

所以問題是,GetSharedDefaultFolder特定名稱返回一個錯誤?什麼是確切的錯誤?如果在「編輯」框中鍵入相同的值並按下Ctrl + K,Outlook可以解析它嗎? –

回答

1

我想你錯過了線顯示在Outlook

選擇的文件夾
myExplorer.CurrentFolder = SharedFolder 

我想,而不是「selectfolder」直插......也有一些其他的線路可以刪除,espacially

Set myExplorer.CurrentFolder = myFolder

因爲它不會使sende在一個Sub中一個接一個地打開兩個文件夾。

此致 最大