マクロボタンでメール送信

仕事をしてると、定期的に同じ作業を繰りかえすことが増えてきます。

例えば、エクセルで管理している最新のデータを定期的にメールで報告するなど。

マクロボタンを押すだけで、メールの宛先、タイトル、本文等が入力されたメールの下書きを準備することが出来ます。

これは実際に私が職場で定期報告を行う際に行っていた方法で、時間やミスの削減が可能です。人にやってもらう時も、「最後にこのボタン押してメール送って」とだけ伝えるだけでよく、誰でも簡単に同じ作業ができることから、大変重宝されたものです。


メール送信用のマクロコード

メールアドレスやタイトル、本文のコメントなどの個別情報は必要に応じて変更後、コード全体を貼り付けて下さい。


===============================


    Set Outlook = GetObject(, "Outlook.Application")
    With Outlook.CreateItem(0)
        .To = "1@com"
        .CC = "1@com;2@com"
        .BCC = "1@com;2@com;3@com"

        .Subject = "週次報告"
        .Display
        With Outlook.ActiveInspector.WordEditor.Windows(1)
            With .Selection

            .TypeText "今回の報告です。"
            .TypeText Chr(11)
     
            Workbooks("excel.xlsm").Worksheets("mail").Range("C2:F5").Copy
            .Paste
            Application.CutCopyMode = False

            .TypeText Chr(11) & Chr(11)
            .TypeText "よろしくお願いします。"
            
            End With
        End With
    End With
    Set Outlook = Nothing

===============================



解説
  • 個別情報は「"」と「"」で囲んで下さい。
  • メールの宛先が複数ある場合は、「;」で接続して下さい。
  • 「 .TypeText Chr(11)」は1行改行になるので、複数行改行の場合は、「.TypeText Chr(11) & Chr(11)」のように「&」で接続して下さい。
  • 以下詳細な解説動画




注意事項
  • パソコン環境は、OS:windows, メールソフト:outlook, 表計算ソフト:excel の場合です。その他使用環境の違いでマクロが動かない可能性がありましたらご容赦下さい。
  • outlookは事前に立ち上げておいて下さい。
  • エクセルファイルのマクロ有効化、開発タブの表示、マクロボタンの作成、マクロコードの貼り付け場所等については、下記を参考にして下さい。
  1. マクロ有効化
  2. 開発タブの表示
  3. マクロボタンの作成、マクロコードの貼り付け場所

アドバイス
  • コードを見ると、Dimって何?Objectって何?と多々疑問に思うでしょうが、初めは何も考えずただ真似して下さい。現場ねこではないですが、「詳しいことは分からないけど、ちゃんと動いてるからヨシ」として下さい。私も初めはそうでした。初めは人の真似から入り、慣れてきたら少しずつ詳しいことを調べていくでいいと思います。

コメント