3

受信メールの特定のテキストを置き換えようとしています。

いくつかのスクリプトを見つけましたが、これらは電子メールの送信/作成で機能します。

現在の作業コード(Larry に感謝):

Sub testing(MyMail As MailItem)
    MyMail.HTMLBody = Replace(MyMail.HTMLBody, "TESTING", "TESTINGTESTING")
    MyMail.Save
End Sub

この Outlook セッション コード:

Private Sub Application_NewMail()

    Dim mail As MailItem

    Set mail = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items.GetFirst
    If mail.Class = olMail Then 'It should be
        'change subject
        mail.Subject = "TESTING"
        'replace body text
        If mail.BodyFormat = olFormatHTML Then
            mail.HTMLBody = Replace(mail.HTMLBody, "TESTING", "TESTINGTESTING")
        Else
            mail.Body = Replace(mail.Body, "SEARCHTEXT", "REPLACETEXT")
        End If
    End If
End Sub
4

1 に答える 1

2

受信トレイで電子メールを処理するためのコード。

Sub testing()
    Dim mail As MailItem
    Dim Inbox As Outlook.Folder

    Set Inbox = Session.GetDefaultFolder(olFolderInbox)
    For Each mail In Inbox.Items
        'change subject
        mail.Subject = "TESTING"
        'replace body text
        If mail.BodyFormat = olFormatHTML Then
            mail.HTMLBody = Replace(mail.HTMLBody, "TESTING", "TESTINGTESTING")
        Else
            mail.Body = Replace(mail.Body, "SEARCHTEXT", "REPLACETEXT")
        End If
    Next mail
End Sub

新しいメールがあるたびにマクロを適用する場合は、以下のコードを使用します。

ThisOutlookSessionモジュール内にコードを配置します。

Private Sub Application_NewMail()
    Dim newMail As MailItem

    Set newMail = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items.GetFirst

    newMail.HTMLBody = Replace(newMail.HTMLBody, "TESTING", "TESTINGTESTING")
End Sub

このコード スニペットは、「ルール」の「スクリプトの実行」で使用できます。

Sub testing(MyMail As MailItem)
    MyMail.HTMLBody = Replace(MyMail.HTMLBody, "TESTING", "TESTINGTESTING")
    MyMail.Save
End Sub
于 2012-12-18T09:08:36.043 に答える