こんにちは。キラです。
以前に投稿した記事で、
Excelで作成した連絡帳を使ってOutlookからメールを送る方法
を紹介しました。
今回の記事では、このVBAコードの改良版を公開します。
マクロ・VBAでOutlookからメールを送るためのコードを書いた場合、
送信元のアドレスを選択できないというデメリットがあります。
Outlookユーザの大半は、複数のアドレスをOutlookに登録していると思います。
ですから、メール送信する際は、その都度送信元アドレスを選択する必要があります。
今回は、
【マクロ・VBA】Outlookでメールを送る方法 ~送信元アドレスを変更編~
と題して、送信元のアドレスを選択してメールを送信する方法を紹介します。
実際にオレが書いたコードも紹介しています。
コードをそのまま使うも良し!アレンジして使うも良し!
いずれにしても、あなたの作業効率がアップするのなら、本望です。
Outlookで送信元アドレスを選択してメールを送る方法
Outlookで送信元アドレスを選択してメールを送るには、以下のコードを書きます。
mailitemObj.SendUsingAccount = Session.Accounts(xxxxxx@mail.com)
具体的な挿入個所を紹介します。
エクセルのシート構成
まずはExcelのシート構成です。こんな感じです。
B列5 | 件名 |
B列6 | 本文 |
H列9~11 | 送信先アドレス |
I列9~11 | 添付ファイル1個目 |
J列9~11 | 添付ファイル2個目 |
K列9~11 | 添付ファイル3個目 |
L列9~11 | 添付ファイル4個目 |
マクロ・VBAのコード
VBEditorに記載しているマクロはこんな感じです。
赤文字の部分が、Outlookで送信元アドレスを選択してメールを送るためのコードです。
Sub sendmail()
'変数を定義します
Dim Toaddress As String
Dim Subject As String
Dim Mailbody As String
Dim outlookObj As Outlook.Application
Dim mailitemObj As Outlook.MailItem
Dim i As Integer
Dim AttachedFile As String
Dim AttachedFile2 As String
Dim AttachedFile3 As String
Dim AttachedFile4 As String
For i = 9 To 11 '今回は3人分送ります
AttachedFile = Range("I" & i).Value
AttachedFile2 = Range("J" & i).Value
AttachedFile3 = Range("K" & i).Value
AttachedFile4 = Range("L" & i).Value
'Outlookを起動
Set outlookObj = CreateObject("Outlook.Application")
Set mailitemObj = outlookObj.createItem(olMailItem)
'送信元アドレスを設定(Outlookのアカウントが2つ以上の時は設定推奨)
mailitemObj.SendUsingAccount = Session.Accounts(xxxxxx@mail.com)
'変数代入
Toaddress = Range("E" & i).Value
Subject = Range("B5").Value
Mailbody = Range("B6").Value
'メール作成
mailitemObj.bodyformat = 2 'HTMLメールにするための宣言
mailitemObj.To = Toaddress
mailitemObj.Subject = Subject
mailitemObj.Body = Mailbody
'メール作成 添付ファイルの有無を確認し添付
If AttachedFile <> "" Then
mailitemObj.Attachments.Add ThisWorkbook.Path & "\" & AttachedFile
End If
If AttachedFile2 <> "" Then
mailitemObj.Attachments.Add ThisWorkbook.Path & "\" & AttachedFile2
End If
If AttachedFile3 <> "" Then
mailitemObj.Attachments.Add ThisWorkbook.Path & "\" & AttachedFile3
End If
If AttachedFile4 <> "" Then
mailitemObj.Attachments.Add ThisWorkbook.Path & "\" & AttachedFile4
End If
'メール送信
mailitemObj.Send
Next i
MsgBox "END"
End Sub
上記のマクロを動かせば、Outlookで送信元アドレスを選択してメールを送ることができます。
まとめ
今回の記事は、
【マクロ・VBA】Outlookでメールを送る方法 ~送信元アドレスを変更編~
と題して書いてきました。
送信先を自由に選択しながら自動的にメールを送ることができれば、非常に便利です。
ぜひ活用ください。
あなたの作業効率がアップすることを願っています。
空いた時間は勉強にあてて、さらなるステップアップをしていきましょう。
コメント