通過Outlook Interop庫從MS Access(2007)運行它。我從一個用戶帳戶上的星號行得到錯誤-2147221219(8004011d),但在另一個用戶帳戶上沒有。錯誤似乎與權限相關,並且這兩個帳戶都對帳戶具有完全訪問權限,該帳戶是我試圖打開的日曆,可以通過Outlook打開並創建約會。示例代碼運行時錯誤與NS.GetSharedDefaultFolder方法
Public Function NewApt(MtgDate As Date, Cat As String)
Dim objOLApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim objCalendar As Outlook.Folder
Dim NewMtg As Outlook.AppointmentItem
Dim Org As Outlook.Recipient
Set objOLApp = New Outlook.Application
Set objNS = objOLApp.GetNamespace("MAPI")
Set Org = objNS.CreateRecipient("[email protected]")
Org.Resolve
If Org.Resolved Then
** Set objCalendar = objNS.GetSharedDefaultFolder(Org, olFolderCalendar)
Else
MsgBox "Scheduling User failed to resolve, see Crimius."
Exit Function
End If
...
任何想法爲什麼?
你試過'objNS.Logon'嗎? – Fionnuala
我的理解是,登錄方法會劫持現有會話並更改其工作配置文件,因此我們決定嘗試避免這種情況(因爲我們的幾個用戶喜歡打開40個Outlook郵件,然後抱怨他們的系統速度很慢)。這不是這種情況嗎? – Crimius
不,如果Outlook剛剛啓動,登錄將登錄到配置文件。如果它已經在運行,它什麼都不會做。其次,嘗試將兩個郵箱添加爲代理存儲(Exchange帳戶屬性對話框的高級選項卡)。你可以瀏覽兩個郵箱嗎? –