I am trying to send an email using macro in excel.
But when I run this code my mail client i.e. MS Outlook shows a pop up warning similar to
Someone is t
This Outlook VBA will load an excel file with emails stored as records and send all of them.
Option Explicit
Private Const xlUp As Long = -4162
Sub SendEmailsFromExcel()
Dim xlApp As Object
Dim isEmailTo As String ' Col A
Dim isSubject As String ' Col B
Dim isMessage As String ' Col C
Dim i As Integer
Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)
Dim emailsMatrix As Variant
Dim objWB As Object
Dim objWs As Object
Dim FileStr As String
FileStr = "C:\Users\...\Documents\EmailsInExcel.xlsx"
Set xlApp = CreateObject("excel.application")
With xlApp
.EnableEvents = False
.DisplayAlerts = False
End With
Set objWB = xlApp.Workbooks.Open(FileStr)
Set objWs = objWB.Sheets(1)
' Matrix load: A - Email Address, B - Subject, C - Body
emailsMatrix = objWs.Range("A1:C" & xlApp.Cells(objWs.Rows.Count, "A").End(xlUp).Row)
objWB.Close
Set objWB = Nothing
xlApp.Quit
Set xlApp = Nothing
' Done getting Excel emails file.
For i = 1 To UBound(emailsMatrix)
isEmailTo = emailsMatrix(i, 1)
isSubject = emailsMatrix(i, 2)
isMessage = emailsMatrix(i, 3)
objMsg.Recipients.Add isEmailTo
objMsg.Subject = isSubject
objMsg.Body = isMessage
objMsg.Send
Next i
End Sub