· 

Outlook 添付を付けたまま返信する方法

私の会社はメールソフトにOutlookを使用しています。Outlookを使っていて不満に
思ったのはメールを「返信」するときに添付文書が消えてしまうことです。
ネットで添付文書を付けたまま返信する方法を探しましたが、どうやらそのような機能
はないようです。(何故だろう??)

仕方ないのでOutlookのマクロ機能を利用して添付を付けたまま返信する
機能を実現しましたのでシェアしたいと思います。

手順

マクロを作成する

 

1.Outlook を起動


2.Alt+F11 
キーを押し、Visual Basic Editor を起動 


3.
Project1」 を右クリックし、「挿入」「標準モジュール」を選択

4.標準モジュールを展開して、Module1をダブルクリック


5.
以下のコードをコピーして、Module1に貼りつけて保存

<マクロの機能>
Outlookの仕様で「転送」の場合は添付文書が削除されないため、メールを一度「転送」
にして、宛先を元のメールから取得するというシンプルな機能です。


***この下をコピペしてください***

Public Sub ReplyAllWithAttachments()

    Dim objItem As MailItem

    Dim objReply As MailItem

    Dim objForward As MailItem

    Dim recSrc As Recipient

    Dim recDst As Recipient

    ‘

    If TypeName(ActiveWindow) = “Inspector” Then

        Set objItem = ActiveInspector.CurrentItem

    Else

        Set objItem = ActiveExplorer.Selection(1)

    End If

    ‘ 転送メールと返信メールを作成

    Set objForward = objItem.Forward

    Set objReply = objItem.ReplyAll

    ‘ 転送メールの件名を返信にする

    objForward = objReply.Subject

    ‘ 転送メールの宛先に返信メールの宛先を指定

    For Each recSrc In objReply.Recipients

        strAddress = recSrc.Address

        If recSrc.AddressEntry.Type = “SMTP” Then

            strAddress = “””” & recSrc.Name & “”” < ” & recSrc.Address & ” > ”

        End If

        Set recDst = objForward.Recipients.Add(strAddress)

        recDst.Type = recSrc.Type

        recDst.Resolve

    Next

    objReply.Close olDiscard

    objForward.Display

End Sub

Public Sub ReplyWithAttachments()

    Dim objItem As MailItem

    Dim objReply As MailItem

    Dim objForward As MailItem

    Dim recSrc As Recipient

    Dim recDst As Recipient

    ‘

    If TypeName(ActiveWindow) = “Inspector” Then

        Set objItem = ActiveInspector.CurrentItem

    Else

        Set objItem = ActiveExplorer.Selection(1)

    End If

    ‘ 転送メールと返信メールを作成

    Set objForward = objItem.Forward

    Set objReply = objItem.Reply

    ‘ 転送メールの件名を返信にする

    objForward = objReply.Subject

    ‘ 転送メールの宛先に返信メールの宛先を指定

    For Each recSrc In objReply.Recipients

        strAddress = recSrc.Address

        If recSrc.AddressEntry.Type = “SMTP” Then

            strAddress = “””” & recSrc.Name & “”” < ” & recSrc.Address & ” > “

        End If

        Set recDst = objForward.Recipients.Add(strAddress)

        recDst.Type = recSrc.Type

        recDst.Resolve

    Next

    objReply.Close olDiscard

    objForward.Display

End Sub

***この上まで***

リボンに追加する

1.リボンのをクリックし、「その他のコマンド」をクリック「リボンのユーザ設定を選択」

2.「コマンドの選択」 の下のドロップダウンから 「マクロ」 を選択

3.下のリストボックスにマクロの一覧が表示されるので、上記で追加したマクロ

(Project1. ReplyAllWithAttachments) を選択


4.
右に表示されるリボンのタブのうち、マクロを追加したいタブを選択し、「追加」をクリック


5.
必要に応じて 「名前の変更」 をクリックしてグループの名前やアイコンを変更
※私の場合は単純にカテゴリは「添付付き」、名前は「全返信」と変更しました

6.上記3~6について「Project1.ReplyWithAttachments」も同様に実施


7.
OK」 をクリックするとボタンが追加されます

 

Project1. ReplyAllWithAttachments:全員に返信(添付あり)

 Project1.ReplyWithAttachments  :返信(添付あり)

マクロの設定

1.ファイルの「オプション」をクリック

 

2.「セキュリティセンター」の「セキュリティセンターの設定」をクリック


3.
「マクロの設定」から「すべてのマクロに対して警告を表示する」または「すべてのマクロを有効にする」を選択

 ※「すべてのマクロに対して警告を表示する」を選択した場合は、Outlookを起動して1回目に使用するときに「セキュリティに影響を及ぼす可能性のある問題点が検出されました」を警告が出ますが気にせず「マクロを有効にする」を選択してください。(起動する都度出ます)

4. OUTLOOKを再起動する

準備は以上で完了です。早速使ってみましょう! 

使い方

①添付付きメールを開いて、先ほど追加した返信ボタンを押します。

②無事、添付が付いた状態で返信メール作成画面が表示されました!!

まとめ

いかがでしたか?マクロと聞くと少し躊躇するかもしれませんが、一度設定するとずっと使用できますので是非やってみてください。メールを出す都度の手間が減りますので長い目でみると間違いなく生産性向上しますよ!!

サイトメニュー

・ホーム

・ご予約

・お問い合わせ

・利用規約

お気軽会議室tuta 

E-mail: sikisoku800@gmail.com