控制已从excel VBA创建Outlook消息

时间:2013-05-12 01:45:35

标签: vba outlook outlook-vba

长期读者,第一次使用(不是我第一次开恶作剧),

我想知道是否可以控制已创建的Outlook电子邮件。在工作中,我们必须从安全的网站下载新的工作订单,主要是感谢这个网站,我已经能够设置一个登录的宏,找到新的工作订单,然后单击按钮打开工作订单。单击此按钮后,将打开一个带有pdf文件的新IE窗口,以及通过电子邮件发送页面" command用于创建新的Outlook消息。我有outlook 12参考(使用Office 2007),并且能够控制现有的Outlook会话以使用以下方式创建新电子邮件:

Dim SendOrder As Outlook.Application
Set SendOrder = GetObject(, "Outlook.Application")

但我无法弄清楚如何让它控制IE打开的电子邮件。我尝试使用GetObject(," Outlook.Application.MailItem)以及其他一些失败的想法,但我只有3个想法,所以我希望这里有人可以帮我解决这个问题,否则我可能不得不在IE中保存文件并创建一个新的电子邮件消息,这似乎增加了额外的步骤。

1 个答案:

答案 0 :(得分:2)

我想,你正走在正确的道路上。这样的东西适用于从Outlook打开的Outlook mailItems。我没有在从IE打开的mailItems上测试它。

Sub GetAMailItem()

'## Requires reference to MS Outlook object library ##
Dim oApp As Outlook.Application
Dim mItem As MailItem

Set oApp = GetObject(, "Outlook.Application")

If TypeName(oApp.ActiveWindow) = "Inspector" Then
    Set mItem = oApp.ActiveWindow.CurrentItem
End If

Set oApp = Nothing

End Sub

找到了代码here的内容,只是进行了一两次修改,为您提供了一个可能符合您需求的结构化示例。