VBA Express
Gmail Macro [Archive] - VBA Express Forum

PDA

View Full Version : Gmail Macro



maninjapan
04-20-2011, 11:22 AM
I have attempted to use the following macro I found 'ready to use' to send from Excel through my test gmail account, however when I run the macro I recieve a " system error &H80040211 (-2147220975)"
Below is the code exactly as I tried to use it apart from the email address and password



Sub CDO_Mail_Small_Text_2()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "XXXX@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "XXXXXXXXXX"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Update
End With
strbody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2" & vbNewLine & _
"This is line 3" & vbNewLine & _
"This is line 4"
With iMsg
Set .Configuration = iConf
.To = "deane@saasset.co.jp"
.CC = ""
.BCC = ""
' Note: The reply address is not working if you use this Gmail example
' It will use your Gmail address automatic. But you can add this line
' to change the reply address .ReplyTo = "Reply@something.nl"
.From = """YourName"" <Reply@something.nl>"
.Subject = "Important message"
.TextBody = strbody
.Send
End With
End Sub

BrianMH
04-20-2011, 12:28 PM
worked fine for me. I have you enabled external access in Gmail?

maninjapan
04-21-2011, 04:50 AM
Brian, I tried this on a different PC and it worked first go. Not sure what the issue was, but seems to be working ok.

maninjapan
04-21-2011, 04:51 AM
I'd like to change the content of the email that is sent from the fixed content in this example to some of the values in the spread sheet. How do I change the following code to achieve this?


"This is line 1" & vbNewLine & _
"This is line 2" & vbNewLine & _
"This is line 3" & vbNewLine & _
"This is line 4"


Thanks!!

BrianMH
04-21-2011, 04:55 AM
activesheet.range("A1").value & vbnewline & _
activesheet.range("A2").value & vbnewline & _
activesheet.range("B3").value & vbnewline & _
activesheet.range("B4").value & vbnewline & _
activesheet.range("C1").value