Outlook约会 - 如何更改“开始时间”下拉列表中的项目

时间:2015-10-28 04:21:41

标签: forms vba outlook outlook-vba appointment

我需要将开始/结束时间下拉列表中的项目更改为相隔5分钟。似乎没有简单的方法来设置它,所以我正在尝试VBA。

我可以让Inspector在预约表格开启时查找:

If Inspector.CurrentItem.Class = olAppointment Then

...但我不知道如何引用或更改开始/结束时间下拉控件以获得我想要的列表。

如果有人知道允许用户以5分钟的间隔选择时间的替代方法,那也会很棒!

2 个答案:

答案 0 :(得分:3)

检查Appointment.Start属性。使用以下函数获取当前对象

Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application
    Set objApp = Application
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
    Case "Explorer"
    Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
    Case "Inspector"
    Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
    End Select
    GetCurrentItem.UnRead = False
    Set objApp = Nothing
End Function

答案 1 :(得分:3)

这并没有完全回答你的问题 - 但我不相信你可以做你需要的事情,因为那些下拉菜单没有编程接口,也没有办法手动实现你想要的东西,所以我不知道如何让宏录像机帮助

This Website将告诉您如何使用自定义开始时间和持续时间设置会议,但是无论何时创建会议/约会请求开始和结束时间(或开始),您都可以构建自己的用户表单时间和持续时间,如果你愿意),这可能是你得到的最好的解决方法。

你可能会对此发疯,并制作一个非模态用户表单,将自己置于现有控件之上并复制其功能 - 但这需要很多编码,而且它会很慢,因为它会不断更新它的在约会项目失去焦点时定位或隐藏自己,但如果你有决心,它就非常容易实现。

在VBA / Outlook之外,您可以使用Visual Studio制作VSTO加载项,在约会/会议部分创建一个新功能区,该功能区有两个自定义控件,用于修改开始日期和结束日期。您也可以使用您想要的任何代码填充这些代码,但您可能需要学习C#来执行此操作,尽管VB.net可能是可行的(这与VBA更相似)。 This Website是一个合理的起点。

对不起,这不是一个真正的答案,但我担心这个问题没有令人满意的答案。