hiko-blog

VBA業務改善

MENU

エクセルからmail送信つくってみた

 Outlookでmail送信義務化の為、エクセルVBA送信で業務時間短縮図ります。

 

Sub エクセルからmail送信()

Dim Olobj As Outlook.Application
Dim mailobj As Outlook.MailItem
Dim i1 As Integer, i2 As Integer
Dim temp1 As String, temp2 As String

Set Olobj = CreateObject("Outlook.Application")
temp1 = Range("B4") '添付1
temp2 = Range("B5") '添付2

'作成したいmail選択
i1 = Range("G2") + 7 '開始番号
i2 = Range("I2") + 7 '終了番号

For i1 = i1 To i2
Set mailobj = Olobj.CreateItem(olMailItem)

mailobj.SentOnBehalfOfName = Range("B2") '差出人
mailobj.Subject = Range("B3") '件名
mailobj.To = Cells(i1, "B") 'TO
mailobj.Cc = Cells(i1, "C") 'CC
mailobj.Bcc = Cells(i1, "D") 'BCC

If temp1 <> "" Then
mailobj.Attachments.Add temp1
End If
If temp2 <> "" Then
mailobj.Attachments.Add temp2
End If

'本文
mailobj.Body = Cells(i1, "E") & vbCr _
& Cells(i1, "F") & vbCr & vbCr _
& Worksheets("文面").Range("A3")

mailobj.Display 'メール表示
'mailobj.send 'メール送信
Next

Set Olobj = Nothing
Set mailobj = Nothing

MsgBox "一旦、文面転記(内容チェック後、送信のこと!!)"
End Sub