【发布时间】:2014-12-04 23:07:06
【问题描述】:
我正在尝试使用 IE 作为浏览器通过 Microsoft 365 发送电子邮件。我目前很难让 VBA 创建新电子邮件,我试图通过简单地告诉它单击具有以下 HTML 代码的“新邮件”按钮来做到这一点:
<button autoid="_n_j" type="button" class="_n_j2 o365button" aria-labelledby="_ariaId_31" regionbehavior="1">
<span class="_n_l2 owaimg ms-Icon--plus ms-bcl-tp ms-bg-transparent ms-icon-font-circle ms-fcl-tp ms-icon-font-size-20-circle" role="presentation"></span>
<span class="_n_k2 ms-font-weight-regular ms-font-color-themePrimary" id="_ariaId_31">New mail</span>
</button>
我正在尝试使用以下 VBA 代码按下此按钮:
Dim objButton As Object
Set objButton = IE.Document.getElementById("_n_j2 o365button")
objButton.onfocus
objButton.onclick
但是我遇到了运行时错误。我认为这是因为该按钮正在使用 javascript(按下时页面不会重新加载,只是更新)。任何想法如何做到这一点?
【问题讨论】:
-
哎呀。您是否有任何理由不只编写一个使用 Office 365 SMTP 服务器的小脚本? (smtp.live.com)
-
我正在开发一个工作簿,我想在许多不同的计算机上通过电子邮件发送数据,因此其中一些可能没有 Outlook 或其他电子邮件软件,因此认为自动化 IE 确实是我唯一的选择。要设置 SMTP 服务器的 AFAIK,您需要至少登录一次这些软件。
-
另外,我认为 SMTP 服务器需要更改防火墙设置,因为这是要在多台计算机上使用,我认为这是不可能的。
-
那不是按钮的 ID - 它是按钮类。
-
我也尝试了 autoid 下显示的值,但出现错误,请您告诉我该怎么做?
标签: excel vba internet-explorer email