excel vba从excel表发送邮件

时间:2017-04-25 07:32:17

标签: excel vba excel-vba

我正在尝试从excel表发送邮件,我的vba无法正常工作

我得到的错误是"对象没有提供此属性或方法"所有getelement声明。

我在excel表中有数据,如recieptent,subject,message。

我使用的代码是,

Sub Macro2()
Do Until IsEmpty(ActiveCell)
URL = Selection.Value 'https://mail.google.com/mail/u/0/?ui=2&view=cm&fs=1&tf=1
Set ie = CreateObject("InternetExplorer.Application")
With ie
    .Visible = 1
    .navigate URL
    While .Busy Or .readyState <> 4
    DoEvents
    Wend
End With
Dim Doc As HTMLDocument
Set Doc = ie.document
ie.document.getElementByName(":oa").Value = ActiveCell.Offset(0, 1).Value 'reciever_mail_id
ie.document.getElementById(":op").Value = ActiveCell.Offset(0, 2).Value 'subject
ie.document.getElementById(":nq").Value = ActiveCell.Offset(0, 3).Value 'message
ie.document.getElementById(":p0").Click 'submit button
ActiveCell.Offset(0, 4).Value = "mail sent"
ActiveCell.Offset(1, 0).Select
ie.Quit
Loop
End Sub

*我的gmail ID已经登录,因此无需登录。 **我是VBA的初学者,需要专家的帮助。

1 个答案:

答案 0 :(得分:0)

GetElementByName不存在。

您想使用GetElementsByName,它将返回HTMLCollection而不是简单的HTMLElement。

因此,如果只有一个具有该名称的元素,请写下:ie.document.getElementsByName(":oa")(0).Value