2017-04-25 155 views
-2

我试图从Excel工作表发送邮件发送邮件,我的VBA不工作Excel VBA中从Excel工作表

错误我得到的“对象不suppoer此属性或方法”为所有getelement声明。

我有excel表中的数据,如recieptent,主题,消息。

代码,我现在用的就是,

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,需要从专家的帮助。

+0

您是否获得在上面的代码中的错误?或者你需要其他帮助? –

+0

我得到的错误是“对象不支持此属性或方法”的所有getelement语句。 –

+0

你可以使用MS Outlook吗?通过一个网站的界面发送它似乎有点笨重,Outlook确实提供了很好的发送电子邮件的功能 –

回答

0

GetElementByName不存在。

你想使用GetElementsByName这将返回一个HTMLCollection,而不是一个简单的HTMLElement。

所以如果有这个名字只有一个元素写:ie.document.getElementsByName(":oa")(0).Value