K2さんの雑記
2015-07-17(Fri) [長年日記]■ Outlookで指定したMessage-IDのメールを検索して表示するマクロ(挑戦中)題目の通り、まずはマクロでMessage-ID検索を作ろうとした。 Message-IDに対応するメールを検索し、存在するフォルダを表示するところまではできたのだが、そのメールを選択状態にするところではまった。 Webを検索して情報を調べているのだが、どうも誰もできていなさそう。そんな簡単そうなことができないなんて、どういう事なんだろう。 P.S. naoさん、助けてください! Public Sub SearchEmailTPZ() Dim oMailItem, oCurrentSelectedItem As MailItem Dim oFolder As Folder, intWait As Integer '以下の""内に、該当メールのMessage-IDを書く Set oMailItem = SearchEmailByMessageID _ ("<1111111111111@prod.outlook.com>") If Not oMailItem Is Nothing Then Set oFolder = oMailItem.Parent '↓これでフォルダを開くところまではOK Set ActiveExplorer.CurrentFolder = oFolder '↓ここができない。書いてあるコードでは動作しない ActiveExplorer.ClearSelection ActiveExplorer.AddToSelection oMailItem End If End Sub Private Function SearchEmailByMessageID(MessageID As String) As MailItem Dim oFolder As Folder Dim sQuery As String sQuery = _ "@SQL=""http://schemas.microsoft.com/mapi/proptag/0x1035001E"" = " _ & " '" & MessageID & "'" Set oFolder = ActiveExplorer.Session.GetDefaultFolder(6) Set SearchEmailByMessageID = SearchEmailByQuery(sQuery, oFolder) End Function Private Function SearchEmailByQuery(oQuery As String, _ oFolder As Folder) As MailItem Dim oFoundMail As MailItem, loFolder As Folder Set oFoundMail = oFolder.Items.Find(oQuery) If oFoundMail Is Nothing Then For Each loFolder In oFolder.Folders Set oFoundMail = SearchEmailByQuery(oQuery, loFolder) If Not oFoundMail Is Nothing Then Exit For End If Next End If Set SearchEmailByQuery = oFoundMail End Function 1965|09|
|
//
自己紹介
自己紹介
広告
計るだけダイエット
つっこみリスト
TrackBacks
日記仲間
な/
す/
ひ/
最近の日記
|
trello に積みました(^^)