ラクシゴ・Outlookメールを自動作成するExcel マクロ

定型的なメール。

これを簡単にしてしまいたい。
色々と方法があるかもしれませんが本日は
ExcelのマクロとOutlookでメールをほぼ自動作成する方法と
マクロの実物の紹介をいたします。

ダウロード

開くと以下のような画面が開きます。

ここに必要な情報を記載しておくだけでOK!

(1)TOとCCのアドレス(一度記載しておけば定型メールの場合はそれで終わりですね)
(2)件名:日付などの情報をいれたければ、Excelの関数を使ってうまく記載しておきましょう。例:=”リマインドメール(” & TODAY() & “)”

(3)本文の箇所に記載しましょう。
メールに記載したい箇所はB列に”#”を入力してください(改行のための行でも#を入力する)
これもExcelの関数をうまく使って、毎回、書き直すような箇所を減らすといいと思います。

あとは画面上の「メール作成」のボタンを押すと
Outlookが起動している場合はメールが作成されます。
簡単に確認したら、メール送信しちゃいましょう。

このファイルを保存しておけば、必要のたびにExcelを開いて、ボタンを押すだけでメールが作れるので便利です。

一応、ソースも転記しておきます。(色々なサイトからのコードの寄せ集めですけど・・・)

Public twb As String 'ワークブック名用の変数
Public tsh As String 'シート名用の変数

Sub createMail()
'ブック名、シート名の設定
twb = ActiveWorkbook.Name
tsh = ActiveSheet.Name

'メール送信用処理の変数定義
Dim outlook
Dim Namespace
Dim folder
Dim mail
Dim mess

Set outlook = CreateObject("Outlook.Application")
Set Namespace = outlook.GetNameSpace("MAPI")
Set folder = Namespace.GetDefaultFolder(6)

Set mail = outlook.CreateItem(0)
mail.BodyFormat = 1 'HTML方式

mail.to = Workbooks(twb).Sheets(tsh).Cells(3, 3)
mail.cc = Workbooks(twb).Sheets(tsh).Cells(4, 3)
mail.Subject = Workbooks(twb).Sheets(tsh).Cells(6, 3)

mail.Body = honbunCreate()

mail.Display ' Sendにすると送信までされる

End Sub

Function honbunCreate() As String
Dim honbun As String
Dim i As Integer
i = 9
honbun = Workbooks(twb).Sheets(tsh).Cells(i, 3)

For i = 10 To 1000
If Workbooks(twb).Sheets(tsh).Cells(i, 2) = "#" Then
honbun = honbun & Chr(10) & Workbooks(twb).Sheets(tsh).Cells(i, 3)
End If
Next i

honbunCreate = honbun
End Function