MS Access |如何从邮件正文到表格获取内容?

问题描述 投票:0回答:1

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

Hello,
Please supplement budget 
WBS                      Amt
N.10002077.001           1

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

此外,我将在邮件中获得的内容将是包含2列的表格,但访问权限将其作为简单文本导入。

enter image description here

vba ms-access access-vba outlook-vba ms-access-2013
1个回答
1
投票

你不可能对你的问题给出一个明确的答案,因为它太模糊,但有可能让你开始。

看看我的这个答案:https://stackoverflow.com/a/12146315/973283。这个问题没有关系,除了OP不明白显示屏幕截图告诉我们关于VBA宏的身体看起来很少。答案包括一个宏,它将收件箱中每个电子邮件中的选定属性复制到Excel工作表。这将允许您查看电子邮件正文对VBA宏的影响。

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

  1. 查看文件夹中的每封电子邮件,并通过检查主题,发件人或其他一些属性来识别有趣的电子邮件。
  2. 选择有趣的电子邮件,然后运行一个使用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}

这假定,发件人使用了可变数量的选项卡来排列列。

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

如果您需要更多信息,请查看上述提示您可以获得多少,然后澄清您的答案。

© www.soinside.com 2019 - 2024. All rights reserved.