我试图从Excel工作簿中调用存储在Outlooks ' ' ThisOutlookSession'中的过程 . 遗憾的是,较新的Outlook 2010应用程序与MS office产品之间的 application.run *SubName*
不兼容 .
由于'.send'上的安全消息需要有人值守站,因此无法完成代表Outlook发送电子邮件的Excel脚本 . (无法更改公司政策中的安全设置)
目前工作流程
- 用户在主题和附件中向我发送了一封带有“命令”的电子邮件
-Event侦听器在附件上查找并成功运行Excel例程,并使用以下 Headers 在Outlook中进行侦听
Private WithEvents Items As Outlook.Items
&
Private Sub Items_ItemAdd(ByVal Item As Object)
- 一旦在Excel中处理,我试图将这些数据自动返回给发件人 . (这是问题所在)
我在Excel中使用后期绑定来创建并准备好返回电子邮件 . 这是' . ''之前的一步 . 理想情况下,我希望避免使用SendKeys语句,因为如果同时处理其他工作簿,它并不完全可靠 .
在Excel中......
Sub test()
Dim aOutlook As Object
Dim aEmail As Object
Set aOutlook = CreateObject("Outlook.Application")
Set aEmail = aOutlook.CreateItem(0)
aEmail.To = "My email address"
aEmail.Subject = "Testing"
aEmail.Body = "Testing"
aEmail.display
End Sub
我一直在无休止地尝试让Outlook识别Excel,创建这个包含MSDN页面中列出的事件的新电子邮件 . 我认为类似下面的代码是识别新mailitem所需要的,但是使用Outlook.mailItem下的大多数预设声明都没有成功 .
Private WithEvents NewItem As Outlook.mailItem
如果您有解决方案或其他想法让我继续,请告诉我
1 回答
解决了,如果有人在将来需要这个 . 它绕过安全警告并且不依赖于发送密钥 .
Excel准备一封电子邮件并显示它 - 准备好后,Outlook中的“On event”会在加载mailitem时识别“to”地址,然后可以从那里接管:完成.send语句 .
请注意,需要添加更多参数,例如item.subject中的特定代码,以确保正确发送的电子邮件 .
在Excel中:
在Outlook中: