2016-12-12 61 views
2

指定された2つの条件(部分的な件名)に基づいて、指定された2つの日付の間に受信された5つのメールのセットを特定のOutlookフォルダから取得しようとしています。私は、部分的な件名だけをフィルタリングする類似のタスクのために、以前はItems.Restrictメソッドを使用しましたが、日付も含めて苦労しています。Restrictメソッドの検索文字列構文

私のテンプレートは、正しく動作ラインは、このようになります。私は、さまざまな方法で日付を含む試みた

strFilter = "@SQL=""urn:schemas:httpmail:subject"" like '%" & strSubject & "%'" 
Set itmFiltered = fld.Items.Restrict(strFilter) 

。ヘルプファイルに基づいて、私はこれがうまくいくと思いました:

strFilter = "@SQL=""urn:schemas:httpmail:subject"" like '%" & strSubject & "%'" 
If Len(strStart) <> 0 then 
    strfilter = strfilter & " AND ""urn:schemas:httpmail:Received:"" >='" & strStart & "'" 
End If 

set itmFiltered = fld.Items.Restrict(strfilter) 

エラー、毎回。

私はまた、このように、件名行を含めずに、単に日付でフィルタリングするためにそれを設定してみました:

strFilter = "@SQL=""urn:schemas:httpmail:Received: >=""'" & strStart & "'" 

ここでも、運。

だから、私の質問:

何構文私は日付でフィルタするItems.Restrictメソッドを使用する必要がありますか?

Items.Restrictメソッドを使用して複数のフィールドでフィルタリングするにはどのような構文が必要ですか?

答えて

2

まず、""urn:schemas:httpmail:Received:""の末尾に":"があります。第二に、このようなDASL名はありません。 "datereceived"を意味しましたか?

"urn:schemas:httpmail:datereceived"または"http://schemas.microsoft.com/mapi/proptag/0x0E060040"を使用する必要があります。 OutlookSpyを使用してDASLプロパティ名を検索します。 - 「IMessage」ボタンをクリックし、プロパティを選択して、DASL編集ボックスを確認します。

+0

見栄えが良い。ありがとう!はい、私はDASLでしたが、私はどこにでも参照して見つけるのに苦労していました。 – Werrf