2017-10-24 11 views
0

私は、以下のコードのように、 "For Each"を使用してデフォルトフォルダ内の既存のタスクをすべて処理するマクロを持っています。しかし、問題は、これも既に非アクティブ(完了)のタスクを処理していることです。私の場合は、プロセスが不当に10,000個のタスクがあります。どのようにして「それぞれのために、それはアクティブである...」のように何かを改善するためのアイデアですか?タスクがアクティブである場合にのみ処理Outlookタスクを処理する

Set olkApp = CreateObject("Outlook.Application") 
Set olkNS = olkApp.GetNamespace("MAPI") 
olkNS.Logon "Outlook"  
Set olkTaskFolder = olkNS.GetDefaultFolder(6) 
For Each objItem In olkTaskFolder.Items 

似て使用してすべての完了したタスクを避けることができ Outlook Script to process task updates

答えて

1
if not objItem.Complete Then 

または


に制限する:

Set olkTaskFolder = olkNS.GetDefaultFolder(6) 
set objItems = olkTaskFolder.Items.Restrict("[Complete] = 'false' ") 
For Each objItem In objItems 
関連する問題