![](/img/trans.png)
[英]How to get outlook appointments via Excel VBA without listingrecurring appointments
[英]How do I get modified recurrences of Outlook appointments in Excel vba?
我正在嘗試在 Excel 中編寫一個宏,該宏讀取我今天的所有日歷約會並計算在這些約會中花費的總時間。 我似乎遇到的問題是我的所有約會都是定期約會,並且某些實例的日期或開始時間已被修改。 我的代碼正在過濾,但不是我期望的那樣,我認為這是因為修改了重復。
如何僅獲取今天重復的詳細信息?
Dim olApp As Object
Dim olNS As Object
Dim olFolder As Object
Dim olApt As Object
Dim olResults As Object
Dim olItem As Object
Dim NextRow As Long
Dim mydate, sdate, edate As Date
Dim sFilter As String
Dim i As Long
Dim dtEnd As Date
mydate = Date
Set olApp = CreateObject("Outlook.Application")
Set olNS = olApp.GetNamespace("MAPI")
Set olFolder = olNS.GetDefaultFolder(9)
sdate = mydate + 6 / 24
edate = mydate + 17 / 24
sFilter = "[Start] >= '" & Format(sdate, "ddddd h:nn AMPM") & "'" & " AND [Start] < '" & Format(edate, "ddddd h:nn AMPM") & "'"
olFolder.Items.IncludeRecurrences = True
olFolder.Items.Sort ("[Start]")
Set olResults = olFolder.Items.Restrict(sFilter)
Hours = 0
If olResults.Count > 0 Then
For i = 1 To olResults.Count
Set olItem = olResults(i)
Hours = Hours + olItem.Duration / 60
Debug.Print olItem.Start
Next i
End If
您必須在同一個集合上設置屬性,避免對Items
屬性的任何調用:
Dim folderItems as Outlook.Items
Set folderItems = olFolder.Items
folderItems.IncludeRecurrences = True
folderItems.Sort ("[Start]")
Set olResults = folderItems.Restrict(sFilter)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.