本文と添付ファイルを削除し、テンプレートを使用して再送するマクロ


コメントにて以下のようなご要望をいただきました。


送ったメールに添付がある場合、その送った宛先とccにメールを再送信するVBAを書きたいんですが
どのように書けばいいのでしょうか。
会社でOutlook2007をしているんですが、添付ファイルのパスワードを別途送るポリシーを送らないといけない為、非常に手間で困ってます。
現在は手作業でメールを選択し、[メッセージ] タブの [その他のアクション] から[このメッセージを再送] を選択しています。
是非、ご教示のほど、よろしくお願いします。

プラスで決められたテンプレートまで適応してもらえたらもう最高です。
可能な部分までで構いませんので是非、よろしくお願いします。


ご要望のマクロは以下のようになります。再送に使うテンプレート ファイルをフルパスで TEMPLATE_FILE に指定してください。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ResendWithTemplate()
    Const TEMPLATE_FILE = "c:\temp\template.oft"
    Const PR_SMTP_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x39fe001e"
    On Error Resume Next
    Dim orgMail As MailItem
    Dim newMail As MailItem
    Dim orgRec As Recipient
    Dim newRec As Recipient
    Dim strAddress As String
    Dim strSmtp As String
    '
    If TypeName(ActiveWindow) = "Inspector" Then
        Set orgMail = ActiveInspector.CurrentItem
    Else
        Set orgMail = ActiveExplorer.Selection(1)
    End If
    '
    Set newMail = Application.CreateItemFromTemplate(TEMPLATE_FILE)
    newMail.Subject = orgMail.Subject
    For Each orgRec In orgMail.Recipients
        strAddress = orgRec.Address
        If LCase(Left(strAddress, 3)) = "/o=" Then
            strSmtp = orgRec.AddressEntry.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)
            If strSmtp <> "" Then
                strAddress = strSmtp
            End If
        End If
        Debug.Print strSmtp, strAddress
        If InStr(orgRec.Name, strAddress) = 0 Then
            Set newRec = newMail.Recipients.Add(orgRec.Name & "<" & strAddress & ">")
        Else
            Set newRec = newMail.Recipients.Add(orgRec.Name)
        End If
        newRec.Type = orgRec.Type
    Next
    newMail.Display
End Sub

マクロの登録方法やメニューへの追加について

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中