微软访问 |如何从邮件正文中获取内容到table?

MS Access | How to get content from mail body to table?

我正在做一个项目,我需要从邮件正文中获取 ms access table/data 并在 SAP 中执行一些命令。我可以管理 SAP 部分,但问题是如何从邮件正文中获取信息。我尝试在访问中链接我的邮箱,但它显示了所有邮件正文文本,但我只需要一些指定的内容。示例

Hello,
Please supplement budget 
WBS                      Amt
N.10002077.001           1

从上面我需要的只是 "N.10002077.001" 和 "1" ,但问题是如何只在 table 中获取该信息?

此外,我将在我的邮件中收到 table 2 列,但访问将其导入为简单文本。

无法对您的问题给出明确的答案,因为它太模糊了,但可以让您入门。

看看我的这个回答:。除了 OP 不明白显示屏幕截图告诉我们关于 VBA 宏的主体是什么样子之外,这个问题无关紧要。答案包括一个宏,可将收件箱中每封电子邮件的选定属性复制到 Excel 工作表。这将允许您查看电子邮件正文在 VBA 宏中的样子。

您将如何识别要从中提取数据的电子邮件?两个简单的选择是:

  1. 查看文件夹中的每一封电子邮件,并通过检查主题、发件人或其他人来识别感兴趣的电子邮件 属性。
  2. Select 有趣的电子邮件然后 运行 使用 ActiveExplorer 访问所选电子邮件的宏。

上面引用的答案演示了技巧 1。有很多答案演示了技巧 2,但如果需要,我可以添加示例宏。

一封电子邮件通常有一个 Html 正文和一个正文。如果一封电子邮件有一个 Html 正文,那就是向用户显示的正文。宏可以访问其中一个或两者。尽管外观可能具有欺骗性,但您的屏幕截图看起来像一个文本正文。如果是文本正文,则电子邮件没有 Html 正文。

如果是正文,正文的布局大概是这样的:

Hello,{cr}{lf}
Please supplement budget{cr}{lf} 
WBS{tab}{tab}{tab}{tab}{tab}Amt{cr}{lf}
N.10002077.001{tab}{tab}1{cr}{lf}

假设发件人使用了可变数量的制表符来排列列。

您可以在 vbCr & vbLf 上使用 Split 将字符串主体转换为字符串数组,每个数组条目一行。丢弃直到并包括以“WBS”开头的行的行,然后将每一行处理到任何签名。 Split vbTab 上的每一行,并期望找到两个具有值的条目,其余为空白。

看看你能从上面的提示中得到什么,如果你需要更多信息,请澄清你的答案。