我正在使用Outlook加载项和宏。在加载项中,我有一个C#例程,它返回给定日期范围内的所有约会。
请注意以下一行
calItems.Sort("[Start]", System.Type.Missing);
来自例程:
private Items GetAppointmentsInRange(MAPIFolder folder, DateTime startTime, DateTime endTime)
{
string filter = "[Start] >= '" + startTime.ToString("g") + "' AND [End] <= '" + endTime.ToString("g") + "'";
var calItems = folder.Items;
calItems.IncludeRecurrences = true;
calItems.Sort("[Start]", System.Type.Missing);
Items restrictItems = calItems.Restrict(filter);
return restrictItems;
}
我试图在VBA中重写它,但我不确定如何传递System.Type.Missing参数。如果我注释掉该行,结果不仅仅是未排序的,我还会获得更多行。我不知道当时使用了什么过滤器。
Private Function GetAppointmentsInRange(folder, startTime, endTime)
Dim filter As String
filter = "[Start] >= '" & _
startTime & _
" 12:00 AM' AND [End] <= '" & _
endTime & " 11:59 PM'"
Dim calItems
Set calItems = folder.Items
calItems.IncludeRecurrences = False
'calItems.Sort "[Start]", System.Type.Missing
calItems.Sort "[Start]"
Dim restrictItems
Set restrictItems = calItems.Restrict(filter)
If (restrictItems.Count > 0) Then
Set GetAppointmentsInRange = restrictItems
Else
Set GetAppointmentsInRange = Nothing
End If
End Function
C#代码有效。如何在VBA中复制System.Type.Missing代码行?