エクセルからメール送信
エクセルからメール送信するにはどうしたらよいでしょうか。Outlookライブラリを使えば、簡単にできます。サンプルでは、ワークシートの内容を送っていますが、ワードドキュメントを添付したり、応用範囲はいろいろ考えられると思います。
参照設定: Microsoft Outlook 16.0 Object Library
Public Sub MailToGmail()
Dim oMail As Outlook.MailItem
Dim oOutLook As Outlook.Application
Dim buff As String
Dim xCell As Excel.Range
Set oOutLook = New Outlook.Application
Set oMail = oOutLook.CreateItem(olMailItem)
oMail.Subject = "Today's result " & Format(Now, "MM/DD hh:mm")
Set xCell = Sheet1.Range("V2")
buff = xCell.Text & vbTab & xCell.Offset(0, 1).Text & vbCrLf
buff = buff & xCell.Offset(1, 0).Text & vbTab & xCell.Offset(1, 1).Text & vbCrLf
buff = buff & xCell.Offset(2, 0).Text & vbTab & xCell.Offset(2, 1).Text & vbCrLf
buff = buff & xCell.Offset(3, 0).Text & vbTab & xCell.Offset(3, 1).Text & vbCrLf
buff = buff & xCell.Offset(5, 0).Text & vbTab & xCell.Offset(4, 1).Text
oMail.Body = buff
oMail.To = "myemail@gmail.com"
oMail.Send
End Sub
前もってエクセルのスケジューラーを使って指定した時間にメール送信することも可能です。
Application.OnTime "11:35:00", "MailToGmail"
キャンセルしたい場合は、
Application.OnTime "11:35:00", "MailToGmail", , False