我为各种Office应用程序编写了VBA,但我是Outlook的新手,所以我还在学习各种Outlook对象。
在Outlook日历视图中,我要么在" Day"," Work Week"," Week"," Month& #34;,或者" Schedule View"安排。我可以在这些之间进行更改但是我希望看到我的活动。今天是2016年11月29日,显示在我的日历(Outlook 2016)上方,我看到:
这显然是我当前视图的日期范围(可能是错误的字词)。
如何在VBA中引用此视图的开始和/或结束日期?我想澄清我 NOT 想要选择的开始和结束日期(这是我在网上找到的),但实际观点 - - 我目前在Outlook客户端应用程序上看到了什么。
提前感谢您的时间和帮助。
答案 0 :(得分:1)
您需要CalendarView.DisplayDates
属性。这是一个包含显示的每个日期的数组。获取数组中的第一个和最后一个值。请参阅here。
下面为了清晰起见而复制和修改了代码:
Sub DisplayDayRange()
Dim objView As CalendarView
Dim varArray As Variant
Dim beginDate As Date
Dim endDate As Date
' Check if the current view is a calendar view.
If Application.ActiveExplorer.CurrentView.ViewType = olCalendarView Then
' Obtain a CalendarView object reference for the
' current calendar view.
Set objView = Application.ActiveExplorer.CurrentView
' Obtain the DisplayedDates value, a string
' array of dates representing the dates displayed
' in the calendar view.
varArray = objView.DisplayedDates
' If the example obtained a valid array, display
' a dialog box with a summary of its contents.
If IsArray(varArray) Then
beginDate = varArray(LBound(varArray))
endDate = varArray(UBound(varArray))
MsgBox "There are " & (UBound(varArray) - LBound(varArray)) + 1 & " days displayed, from " & beginDate & " to " & endDate
End If
End If
End Sub