长期读者,第一次使用(不是我第一次开恶作剧),
我想知道是否可以控制已创建的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中保存文件并创建一个新的电子邮件消息,这似乎增加了额外的步骤。
答案 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的内容,只是进行了一两次修改,为您提供了一个可能符合您需求的结构化示例。