我正在尝试在Outlook中编写一个VBA宏,这将允许我显示用于输入Outlook约会信息的自定义UI。我有这个适用于现有约会,但我希望能够通过让用户单击并拖动以选择时间范围然后触发宏来创建新约会。 (这适用于Outlook中内置的New Appointment命令。)我想知道如何以编程方式获取所选的时间范围,以便在通过宏创建新约会时可以使用它。
有谁知道如何从VBA访问此信息?
答案 0 :(得分:1)
答案 1 :(得分:0)
更好的方法是使用SelectedStartTime
和SelectedEndTime
https://msdn.microsoft.com/en-us/library/office/ff869571.aspx
Public Sub GetNewAppt()
Dim exp As Explorer: Set exp = Outlook.ActiveExplorer
Dim mfCalFolder As MAPIFolder
Set mfCalFolder = exp.CurrentFolder
Dim vw As View: Set vw = exp.CurrentView
If vw.ViewType = olCalendarView Then
With vw
Dim objAppt As AppointmentItem
Set objAppt = mfCalFolder.Items.Add
objAppt.Start = .SelectedStartTime
objAppt.End = .SelectedEndTime
objAppt.Display
End With
End If
End Sub
我使用功能区上的自定义按钮触发此操作。没有测试2007年或之前的版本。