VBAで指定された範囲のスプレッドシートに記載されている多数の電子メールタイトルを検索する必要があります。次に、双方向ルックアップを使用してSentOn時間をExcelに貼り付ける必要があります。件名と指定された日付範囲をExcelにコピーするメールのSentOn日付を取得する
現在の日付の前に日付を入力すると、双方向のルックアップが今日のメールのSentOnの日付を貼り付けるように、私は現在の日付だけこれを行うことができます。これは私がOutlookの検索を混乱させたと思う。ここに私が使用している(切り捨てられた)コードがあります:
Dim filterStr As String
filterStr = "urn:schemas:httpmail:subject = '" & EmailName & "' AND urn:schemas:httpmail:date >= '" & TDateUTC & "' AND urn:schemas:httpmail:date <= '" & TDateUTCEOD & "' "
For Each OutputType In ThisWorkbook.Worksheets("Static Data").Range("F:F")
If OutputType.value = "Email" Then
ProcessName = OutputType.Offset(0, -5).value
EmailName = OutputType.Offset(0, 2).value
On Error Resume Next
If Not (TargetInbox.Items.AdvancedSearch(TargetInbox, filterStr, False, "criteria") Is Nothing) Then
SLA_Completion_Tracker_FileName.Activate
MatchFormula1 = WorksheetFunction.Match(CLng(CDate(TDate)), ActiveSheet.Range("1:1"), 0)
MatchFormula2 = WorksheetFunction.Match(ProcessName, ActiveSheet.Range("A:A"), 0)
EmailTime = TargetInbox.Items.Item(EmailName).SentOn
If Not EmailTime >= TDate And EmailTime <= TDateEOD Then EmailTime = ""
SLA_Completion_Tracker_FileName.Activate
Set IndexFormula = WorksheetFunction.Index(ActiveSheet.Range("A1:FA60"), MatchFormula2, MatchFormula1)
IndexFormula.value = Format(EmailTime, "ddddd ttttt")
End If
これは今日の日付で現在動作しています。これにより
EmailTime = TargetInbox.Items.Item(EmailName).SentOn
If Not EmailTime >= TDate And EmailTime <= TDateEOD Then EmailTime = ""
::私は、以前の日付を検索するように設定する場合 しかし、私はこれを置き換える
EmailTime = TargetInbox.Items.AdvancedSearch(TargetInbox, filterStr, False, "criteria").Item(EmailName).SentOn
何も現れません。これは私がAdvancedSearch関数を適切に使用していないためだと分かります。どのように私はこの仕事のために適切に使用するのですか?
おかげ
編集:私はこのコードを使用して、同様に検索しようとしている:
EmailName = OutputType.Offset(0, 2).value
Dim sFilter As String
sFilter = "[Subject] = """ & EmailName & """ AND [SentOn] >= '" & Format(TDate, "ddddd h:nn AMPM") & "' AND [SentOn] <= '" & Format(TDateEOD, "ddddd h:nn AMPM") & "'"
FoundMail = TargetInbox.Items.Find(sFilter)
FoundTime = FoundMail.SentOn
しかし、これはどちらかの仕事をしていません。
私はそれを試みてきましたが、私は検索作業のどちらかを行うように見えません。私は私のOPでテストしているFindを編集しました。 –