2013-02-13 23 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

相关问题