2

メールを並べ替えるには、ルール(またはおそらくVBAマクロ)が必要です。新しく受信したメールの添付ファイルのファイル名に「REPORT」と表示されている場合、そのメールを別のフォルダに移動したい場合は、「REPORTS」フォルダとしましょう。

どうすればこれを達成できますか?

私はすでにメールヘッダーにルールを設定しましたが、それは問題を解決しなかったようです。

前もって感謝します!

4

1 に答える 1

0

http://www.outlookcode.com/article.aspx?id=62およびhttp://blog.saieva.com/2010/03/27/move-messages-to-folders-with-outlook-vbaの使用済みコード//

'code goes in "ThisOutlookSession" module
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim arr() As String
    Dim i As Integer
    Dim ns As Outlook.NameSpace
    Dim itm As MailItem
    Dim m As Outlook.MailItem
    Dim att As Outlook.Attachment

    On Error Resume Next
    Set ns = Application.Session
    arr = Split(EntryIDCollection, ",")
    For i = 0 To UBound(arr)
        Set itm = ns.GetItemFromID(arr(i))
        If itm.Class = olMail Then
            Set m = itm
            If m.Attachments.Count > 0 Then
                For Each att In m.Attachments
                    If UCase(att.FileName) Like "*REPORT*" Then
                        MoveToFolder m, "MoveTest"
                        Exit For
                    End If
                Next att
            End If
        End If
    Next
    Set ns = Nothing
    Set itm = Nothing
    Set m = Nothing
End Sub


Sub MoveToFolder(mItem As MailItem, folderName)

 '###you need to edit this for your account name###
 Const mailboxNameString As String = "Mailbox - firstname lastname"

 Dim olApp As New Outlook.Application
 Dim olNameSpace As Outlook.NameSpace
 Dim olDestFolder As Outlook.MAPIFolder

 Set olNameSpace = olApp.GetNamespace("MAPI")
 Set olDestFolder = olNameSpace.Folders(mailboxNameString).Folders(folderName)

 Debug.Print "[" & Date & " " & Time & "] " & _
                ": folder = " & folderName & _
                "; subject = " & mItem.Subject & "..."

 mItem.Move olDestFolder

End Sub
于 2012-09-05T17:34:42.737 に答える