excel - 从excel VBA代码中的电子邮件正文中提取表格

标签 excel vba email extract

好吧,我对这个 VBA 代码很陌生。我找到了在 excel 中提取电子邮件详细信息的代码。这段代码以我想要的方式为我工作,但唯一的问题是我在电子邮件正文中获得的结果。我在电子邮件中有一个包含相关详细信息的表格,并且我希望每个单独的电子邮件也以相同的方式在 excel 中输出。
这是代码。


Sub GetFromOutlook()

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer

Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("Personal")

i = 1

For Each OutlookMail In Folder.Items
    If OutlookMail.ReceivedTime >= Range("From_date").Value Then
        Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
        Range("eMail_date").Offset(i, 0).Value = OutlookMail.ReceivedTime
        Range("eMail_sender").Offset(i, 0).Value = OutlookMail.SenderName
        Range("eMail_text").Offset(i, 0).Value = OutlookMail.Body        
        i = i + 1
    End If
Next OutlookMail

Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing

End Sub

以下是电子邮件正文内容的示例。
Sample of Email Body image
目前,查询的结果是 - 电子邮件的正文被粘贴到一个特定的单元格中。
有人可以帮忙吗

最佳答案

我可能是错的,但看起来你的偏移量并没有因为每条数据而改变。偏移量基于当前单元格。如果您将某些内容写入偏移量 (i,0),然后再次执行相同操作,您将有效地写入初始数据的顶部。这就是为什么您最终只得到电子邮件文本的原因,因为这是最后一次写入操作。

关于excel - 从excel VBA代码中的电子邮件正文中提取表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67376622/

相关文章:

java - 在可重试操作中发送一次电子邮件(或任何消息)且仅发送一次

ruby - 如何使用 Rails 创建带有公式的电子表格?

excel分配单元格的值和格式

VBA UBound 函数

excel - 如何将 Excel DocumentProperty 对象变量(位于 ByRef 函数中)设置为 WordbuiltinDocumentProperties 集合项?

vba - 将带有数据的行从另一个工作表动态插入到 Excel 工作表中

string - Excel VBA 对大型文档进行字符串操作导致运行时错误 "1004"

Excel - 日期和时间自动套用格式

php - 在 IP 错误的共享主机上发送邮件的替代方法

php - 使用 HTML Mime Mail for PHP 发送电子邮件,但需要通过 Exchange 服务器进行身份验证