LIVERVA

LIVERVA

生活を豊かに、自由に、便利に

【ExcelVBA】メールを送る(OutLook)

OutLookでメールを送信するマクロの事例集です

outlookでメールを送信する

※ツール > 参照設定 >「Microsoft Outlook ??.? Object Library」を有効化する

Dim oApp As New Outlook.Application
Dim mail As Outlook.MailItem
Set mail = oApp.CreateItem(olMailItem) 'メールを作成

    mail.To = "sampleTo@mail.co.jp"      '宛先
    mail.CC = "sampleCC@mail.co.jp"      'CCを指定
    mail.BCC = "sampleBCC@mail.co.jp"    'BCCを指定
    mail.Subject = "こんにちは"           '件名を指定
    mail.HTMLBody = "お元気ですか"        '本文の指定
    mail.attachments.Add "C:\data\Wb1.xlsx"  'ファイルを添付
    mail.Display             '作成したメールを表示
    mail.Send                '作成したメールを送信

複数のメールを送る

For文を使い、Excelシート1行1通ずつでメールを作成し送信する
f:id:shirron:20210408011505p:plain

Dim oApp As New Outlook.Application
Dim mail As Outlook.MailItem
Set mail = oApp.CreateItem(olMailItem) 'メールを作成
Dim maxrow as Long

maxrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To maxrow

    mail.To = Cells(i, 1).Value
    mail.CC = Cells(i, 2).Value
    mail.BCC = Cells(i, 3).Value
    mail.Subject = Cells(i, 4).Value
    mail.HTMLBody =  Cells(i, 5).Value
    mail.attachments.Add Cells(i, 6).Value
    mail.Display
    mail.Send

Next

※本文の中身は、HTML形式のためbr,pタグなどが使用可能

セルの値で1つのメールを複数宛先にまとめて送る

Dim oApp As New Outlook.Application
Dim mail As Outlook.MailItem

'宛先を作る
Dim MargeTo As String
Dim singleTo As Range
結合文字 = ""
For Each singleTo In Worksheets("Sh1").Range("A2:A15")
    MargeTo = MargeTo & singleTo.Text & ";"
Next singleTo
 
Set mail = oApp.CreateItem(olMailItem)

mail.To = MargeTo
mail.Subject = "こんにちは"
mail.HTMLBody = "お元気ですか"
mail.Display
mail.Send

1つのメールに複数のファイルを付けて送る

Dim oApp As New Outlook.Application
Dim mail As Outlook.MailItem

Set mail = oApp.CreateItem(olMailItem)

mail.To = "sampleTo@mail.co.jp"
mail.Subject = "こんにちは"
mail.HTMLBody = "お元気ですか"

    Dim Filekey As String
    Dim FileName As String
    Filekey = "C:\data\Wb*.xlsx"
    FileName = Dir(Filekey)
    
    While FileName <> ""
        mail.attachments.Add FileName
        FileName = Dir
    Wend

mail.Display
mail.Send
HOME  /  プライバシーポリシー・免責事項  /  お問い合わせ