【VBA】 Outlook에서 자동 메일 전송
9376 단어 VBA
https://www.fastclassinfo.com/entry/vba_outlook_sendmail#%E3%82%A2%E3%82%A6%E3%83%88%E3%83%AB%E3%83%83%E3%82%AF %E6%93%8D%E4%BD%9C%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88
Option Explicit
Sub sendMail() '
'---コード1|outlookを起動する
Dim toaddress, ccaddress, bccaddress As String '変数設定:To宛先、cc宛先、bcc宛先
Dim subject, header, mailBody, mailBody_head, mailBody_middle, mailBody_tail, credit As String '変数設定:件名、メール本文、クレジット、添付
Dim outlookObj As Outlook.Application 'Outlookで使用するオブジェクト生成
Dim mailItemObj As Outlook.mailItem 'Outlookで使用するオブジェクト生成
Dim i As Long
Dim objOutlooksheet As Worksheet
Set objOutlooksheet = ThisWorkbook.Worksheets("Mail")
'---コード2|差出人、本文、署名を取得する---
toaddress = objOutlooksheet.Range("B2").Value 'To宛先
ccaddress = objOutlooksheet.Range("B3").Value 'cc宛先
bccaddress = objOutlooksheet.Range("B4").Value 'bcc宛先
subject = objOutlooksheet.Range("B5").Value '定型
header = objOutlooksheet.Range("B6").Value '件名
mailBody_head = objOutlooksheet.Range("B7").Value 'メール本文頭
' mailBody_middle = objOutlooksheet.Range("B8").Value 'メール本文中
mailBody_tail = objOutlooksheet.Range("B9").Value 'メール本文末
credit = objOutlooksheet.Range("B10").Value 'クレジット
'---コード3|メールを作成して、差出人、本文、署名を入れ込む---
Set outlookObj = CreateObject("Outlook.Application")
Set mailItemObj = outlookObj.CreateItem(olMailItem)
mailItemObj.BodyFormat = 3 'リッチテキストに変更
mailItemObj.To = toaddress 'to宛先をセット
mailItemObj.cc = ccaddress 'cc宛先をセット
mailItemObj.BCC = bccaddress 'bcc宛先をセット
mailItemObj.subject = subject '件名をセット
'---コード4|メール本文を改行する
' i = 2
' With Worksheets("Sheet2")
' Do While .Cells(i, 1) = "○"
' mailBody_middle = mailBody_middle & .Cells(i, 2) & "/" & .Cells(i, 3) & ":" & .Cells(i, 5) & vbCrLf
' i = i + 1
' Loop
' End With
mailBody = mailBody_head & vbCrLf & mailBody_middle & vbCrLf & mailBody_tail
mailItemObj.Body = header & vbCrLf & vbCrLf & mailBody & vbCrLf & vbCrLf & credit 'メール本文 改行 改行 クレジット
'---コード5|自動で添付ファイルを付ける---
' Dim attached As String
' Dim myattachments As Outlook.Attachments 'Outlookで使用するオブジェクト生成
' Set myattachments = mailItemObj.Attachments
' attached = objOutlooksheet.Range("B9").Value '添付ファイル
' If attached <> "" Then myattachments.Add attached
'---コード6|メールを送信する---
'mailItemObj.Save '下書き保存
mailItemObj.Display 'メール表示(ここでは誤送信を防ぐために表示だけにして、メール送信はしない)
'mailItemObj.Send 'メール送信
'---コード7|outlookを閉じる(オブジェクトの解放)---
Set outlookObj = Nothing
Set mailItemObj = Nothing
End Sub
Reference
이 문제에 관하여(【VBA】 Outlook에서 자동 메일 전송), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/archboys2/items/a5ff33c0b02458aff9c9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)