2013-02-13 21 views
2

我正在寫一些應用程序,我需要在我的組織內獲得所有可用房間。 (我們在Outlook中打開「添加房間」對話框時得到的同一列表) 我認爲,雖然我們通過展望來實現這一目標,但他在某些交換服務器上工作,問題是有沒有辦法將Outlook用作「代理」我到交換服務器?獲取前景中所有房間的列表

我有交換任何幫助,沒有知識,並與Outlook的互操作一知半解......

在此先感謝。

+1

使用EWS託管API,這就是正確的方式,比找到出路的方式更容易;-)(http://msdn.microsoft.com/en [使用EWS託管API獲取一室] -us/library/exchange/hh532566(v = exchg.80).aspx) – jwillmer 2013-02-13 14:41:50

+0

已經看到了,但問題是如何創建服務?我在網上看到了一些例子,但是它們中沒有一個適合我... – Igal 2013-02-14 16:25:08

+0

從某種原因GetRoomList返回一個空的集合... – Igal 2013-03-11 16:24:13

回答

0

我不知道這是否適用於您,但查看OutlookSpy的「All Rooms」容器,PR_CONTAINER_FLAGS屬性包含未公開的位0x200。我沒有看到任何其他容器設置相同的位。 爲你做了如下工作嗎?

PR_CONTAINER_FLAGS = "http://schemas.microsoft.com/mapi/proptag/0x36000003" 
set rooms = Nothing 
set lists = Application.Session.AddressLists 
for each list in lists 
    containerFlags = list.PropertyAccessor.GetProperty(PR_CONTAINER_FLAGS) 
    if (containerFlags And &H0200) <> 0 Then 
    set rooms = list 
    Exit For 
    End If 
next 
if (rooms Is Nothing) Then 
    MsgBox "Room container not found" 
Else 
    MsgBox "Room container was found, its name is " & rooms.Name 
    for each room in rooms.AddressEntries 
    Debug.Print room.Name & " - " & room.Address 
    next 
End If 
+0

好吧,我已經在Outlook間諜中試過這段代碼,並得到確認房間容器是找到了,它的名字,但接下來呢? 謝謝 – Igal 2013-03-09 20:50:09

+0

現在你有你的房間容器。你想下一步該做什麼? – 2013-03-10 02:20:03

+0

我想從交換服務器(房間列表)中提取數據 – Igal 2013-03-10 11:40:44

相關問題