Outlook
🟢 PowerShell
投稿日: 2026年4月13日14:15
$outlook = New-Object -ComObject Outlook.Application
#ネームスペース 不要と思えるけど、お決まり
$namespace = $outlook.GetNamespace("MAPI")
#予定表は9番
$cldfolder = $namespace.GetDefaultFolder(9)
#今日
$cDay= (Get-Date).ToString("yyyy/MM/dd 0:00")
#明日
$nDay= (Get-Date).AddDays(1).ToString("yyyy/MM/dd 0:00")
#今日の予定(複数)
$todayItems = $cldfolder.Items.Restrict("[Start] >= '" + $cDay + "' AND [END] <= '" + $nDay+ "'")
ForEach ($tk in $todayItems){
$cldObject=[PSCustomObject]@{
Subject =$tk.Subject
Body=$tk.Body
Start=$tk.Start
End=$tk.End
Importance=$important
isAll=$tk.AllDayEvent
CreationTime=$tk.CreationTime
IsRecurring=$tk.IsRecurring
Sensitivity=$tk.Sensitivity
}
$cldCollection.Add($cldObject) | Out-Null
}
$cldSortCol=$cldCollection | Sort-Object -Property Start | Sort-Object -Property isAll | Sort-Object -Property IsRecurring
$todayItemsをそのまま扱うというより、
$tkとして得られた内容を、後で簡単に処理するために(SORTしたり)
PSCustomObjectに入れてから使う感じ。
$tkとして得られた内容を、後で簡単に処理するために(SORTしたり)
PSCustomObjectに入れてから使う感じ。
olFolderCalendar 9 予定表フォルダー
olFolderTasks 13 タスクフォルダー