我需要将开始/结束时间下拉列表中的项目更改为相隔5分钟。似乎没有简单的方法来设置它,所以我正在尝试VBA。
我可以让Inspector在预约表格开启时查找:
If Inspector.CurrentItem.Class = olAppointment Then
...但我不知道如何引用或更改开始/结束时间下拉控件以获得我想要的列表。
如果有人知道允许用户以5分钟的间隔选择时间的替代方法,那也会很棒!
答案 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是一个合理的起点。
对不起,这不是一个真正的答案,但我担心这个问题没有令人满意的答案。