从Outlook电子邮件正文中提取表数据

时间:2017-10-22 01:10:22

标签: vba email outlook-vba

我收到Outlook电子邮件,正文包含一个由多个字符串标签和相关字符串文字组成的表格。我想提取与相应的标签相关联的三个。前两个搜索是标签的一列,最后一个是下面的一行。  我尝试使用InStr(),它非常适合检索标签正确,但它似乎不适用于这是标签下面的一个单元格。  我可以在 Outlook VBA 中的Excel / Work中使用 MoveRight MoveDown ,还是使用" 范围( Rng.Offset(0,1).Address)。值"和" 范围(Rng.Offset(1,0).Address)。值"在 Outlook VBA 中选择以下。  这里的关键点是它是电子邮件正文中的结构化表。

1 个答案:

答案 0 :(得分:1)

我有一封电子邮件,其中的表恰好嵌套在另一张表中

这就是使用Tables(1).Tables(1)的原因

以下代码用于探索该表。

第一行突出显示表格中的单元格,以便您可以检查是否引用了正确的单元格

第二行和第三行显示了如何获取表格单元格的值

不要尝试检查监视窗口或本地窗口中的任何range对象。它导致前景崩溃。 (不知道为什么)

如果要浏览range对象的任何属性,请将电子邮件正文复制到msWord。检查范围对象时它不会崩溃

我找不到任何引用列标题的内容

Sub aaaaa()

    Application.Inspectors(1).WordEditor.Tables(1).Tables(1).Rows(1).Cells(1).Select
    stop
    Debug.Print Application.Inspectors(1).WordEditor.Tables(1).Tables(2).Rows(3).Cells(4).Range.Text
    Debug.Print ActiveDocument.Tables(1).Tables(1).Cell(1, 1).Range.Text

End Sub