2015-06-15 63 views
0

我在outlook中有一個共享的收件箱,我想寫一些代碼讓我從共享收件箱收到郵件。現在,我可以從我的主收件箱中收到電子郵件,但我想爲其他收件箱執行此操作。在python中訪問共享outlook收件箱

這是到目前爲止的代碼:

import os 
import win32com.client 

outlook = win32com.client.Dispatch('Outlook.Application').GetNamespace('MAPI') 
inbox = outlook.GetDefaultFolder(6).Folders('Some Magic Folder') 
messages = inbox.Items 

我的猜測是,我不應該看GetDefaultFolder方法,但別的東西,但我不能肯定在哪裏看。

回答

1

Namespace類的GetSharedDefaultFolder方法返回一個Folder對象,該對象表示指定用戶的指定默認文件夾。

Sub ResolveName() 
    Dim myNamespace As Outlook.NameSpace 
    Dim myRecipient As Outlook.Recipient 
    Dim CalendarFolder As Outlook.Folder 
    Set myNamespace = Application.GetNamespace("MAPI") 
    Set myRecipient = myNamespace.CreateRecipient("Eugene Astafiev") 
    myRecipient.Resolve 
    If myRecipient.Resolved Then 
    Call ShowCalendar(myNamespace, myRecipient) 
    End If 
End Sub 

Sub ShowCalendar(myNamespace, myRecipient) 
    Dim CalendarFolder As Outlook.Folder 
    Set CalendarFolder = _ 
    myNamespace.GetSharedDefaultFolder _ 
    (myRecipient, olFolderCalendar) 
    CalendarFolder.Display 
End Sub 
+0

收件箱= outlook.GetSharedDefaultFolder(6) 文件 「」,第3行,在GetSharedDefaultFolder 類型錯誤:Python的實例不能被轉換爲一個COM對象 收到這個錯誤 –

+0

您是否將有效的收件人對象傳遞給GetSharedDefaultFolder方法? –

+0

啊,我想我可能會知道如何解決這個問題。謝謝! –