在Outlook中使用Recipient.FreeBusy

时间:2016-10-18 18:19:11

标签: vba outlook-vba outlook-2013

我在使用Recipient类的FreeBusy方法时遇到了麻烦。

文档说明函数参数是:

Start表示开始时间,MinPerChar表示每个字符返回的分钟数,CompleteFormat表示您是否只想知道房间是否繁忙或有关其他详细信息业务。

但是,在输入以下代码时,我会得到相同的结果:

 debug.print myRoom.FreeBusy(#10/18/2016 11:00:00 AM#, 30, false)

给出:

 0000000000000000010000001......

然后:

 debug.print myRoom.FreeBusy(#10/18/2016 10:00:00 AM#, 30, false)

给出了相同的东西:

 0000000000000000010000001......

我做错了什么?我原以为第二次调用会返回第一个向右移动2位的2个附加值,但事实并非如此。

我在Exchange Server上运行Outlook 2013.

1 个答案:

答案 0 :(得分:1)

问题似乎是Start参数是日期参数而不是DateTime参数,因此从一天开始就会忽略时间。

您只需计算正确的输出位数即可获得正确的小时数。

而不是:

 debug.print myRoom.FreeBusy(#10/18/2016 11:00:00 AM#, 30, false)

使用:

 myVal = myRoom.FreeBusy(#10/18/2016#, 30, false)
 debug.print Mid(myVal, 22, len(myVal) - 22)