【问题标题】:Excel VBA to pull name from body of emailExcel VBA 从电子邮件正文中提取名称
【发布时间】:2014-04-26 00:07:21
【问题描述】:

我正在寻找一些代码来从 Outlook 消息的正文中提取值。我将在下面设置我需要的整个情况:

  • 发送一封电子邮件,其中包含特定主题和正文中的某些值。 -主题可以是“测试” - 在电子邮件正文中,它将是: 名称:(此处名称更改) 编号:(此处编号有所变化)

我可以设置收到这封电子邮件后需要打开的 Excel 文件,但我需要的是打开的那个 Excel 文件,以查看该电子邮件并提取名称和号码(可以更改)进入单元格 A1 和 B1。

请记住,会有多封电子邮件以相同的格式通过,因此它应该只查看一两分钟前刚刚发送的邮件。

这可能吗?任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 是的,这是可能的。 I am looking for some code to pull values from the body of an outlook message。你试过什么?您的电子邮件正文如何?向我们提供有关您如何尝试解决问题的更多信息至关重要。
  • 查看outlook-vba问答。您将找到查看每条新消息的代码和写入 Excel 的代码。尝试开发一些东西,然后如果遇到困难就回来。

标签: excel vba


【解决方案1】:

由于触发操作是收到电子邮件,我建议您专注于让 Outlook 在收到邮件时运行脚本,然后将信息推送到 Excel 工作表。 Here 可以帮助您入门。

您需要确保有一种方法可以轻松识别电子邮件正文中名称字段的位置,可能会将其包装为 [[NAME]] Person Name Here。

【讨论】:

  • 您链接中的这段代码效果很好,我只是想不出两件事。首先,我想从电子邮件正文中添加一些值,而不是添加主题。格式将始终相同。即使我像你说的那样包装了 [[Name]],我该怎么做?我对 Outlook 代码/参考非常不熟悉。此外,我的最终目标是让 Excel 根据来自消息的值运行某些东西。有没有办法让文件打开并保持打开状态,以便我可以运行不同的 Excel 宏?
  • 忘记第二部分,我意识到我可以创建一个打开文件的规则,这样就可以了。我想我剩下的唯一问题是:我将如何在电子邮件正文中添加 4 个值,以便在发送的每条消息中保持一致?这 4 个值将是导出到 Excel 文件的四个值。 4 个如下: [[First Name]](此处为名字)[[Last Name]](此处为姓氏)[[email address]](此处为电子邮件地址)[[Store Number]](此处为 Store number)
  • 为了在运行我发送给您的链接中的代码后保持 Excel 处于打开状态,请删除 oXLwb.Close (True)oXLApp.Quit 行。至于如何将 4 个值添加到电子邮件中,邮件消息是如何填充的?一个 Web 表单,用户输入消息?您可以考虑使用 Outlook 表单或 InfoPath 表单来收集数据。 Here is a link 如何创建 Outlook 表单作为另一个起点。
猜你喜欢
  • 2021-07-26
  • 2011-08-24
  • 1970-01-01
  • 2016-04-12
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多