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