如何使用电子邮件链接执行宏,并将消息的主体用作参数?

时间:2014-02-11 20:17:09

标签: vba excel-vba outlook outlook-vba excel

我编写了一个Excel VBA宏,它使用userform将表单电子邮件发送给内部经理进行审批。我想写一个免费的宏,同一个经理可以用来将这些信息转发给另一组内部收件人。我试图解决的问题是如何让经理点击另一个(不同的)Excel工作表的嵌入式链接,在打开时,用电子邮件中的信息填充新的用户表单?

为了使这个想法更加清晰,userform收集了5条信息:

MPL(主要价格表)序列号,生效日期,经理的姓名,影响(是/否),用户名(从application.username派生)

此信息通过电子邮件发送给管理员进行审批,其中一个链接嵌入到服务器上另一个启用宏的工作簿中,管理员可以使用具有相同信息的用户表单和额外的帐户特定信息组成另一封电子邮件。我试图解决的问题是,当第二个宏/工作簿打开时,如何将电子邮件正文的内容作为参数(这样我就可以自动填充第二个用户表单)。

让我说清楚:我不想写代码给我!我只想回答一个概念性的问题。甚至可以这样做吗?有没有更好的方法来执行这个我没有看到的?

提前致谢。

JSR

1 个答案:

答案 0 :(得分:0)

使用Outlook对象模型,您可以使用EntryID及其StoreID

访问任何邮件项目
Dim EntryID As String
Dim StoreID As Variant
Dim mi As Outlook.mailItem

... 
Set mi = Application.Session.GetItemFromID(EntryID, StoreID)

如果您将EntryID/StoreID写入Excel表单,则可以访问Excel VBA的邮件并分析其内容。

在您的经理Outlook中为传入的邮件定义规则可能更容易,以自动处理您的表单邮件,提取其内容并准备批准。