从Outlook电子邮件提取文本到Excel - 检查格式
问题描述:
我从电子邮件中提取文本到Excel,但我有问题,有特殊字体,删除线的文本。解压缩后,它的格式会变得松散,看起来像所有其他文本,但删除键会改变其含义。在这种情况下,我需要使用条件,像这样:从Outlook电子邮件提取文本到Excel - 检查格式
If lines(j).Font.Strikethrough = True Then lines(j) = "Deleted " & lines(j)
有没有人有这方面的经验?代码
主要部分:
Sub Export_Outlook_Emails_To_Excel()
Dim Folder As Outlook.MAPIFolder
Dim BodyMail As String
Dim lines As Variant
Dim row As Integer
Dim DATA As Worksheet
Dim j, Items As Long
Set DATA = Worksheets("DATA")
'check emails – I deleted not important rows so normally it gioes through all
emails in directory
Set folder = Outlook.Session.Folders(„Archive“).Folders("Inbox").Folders("Changes")
Items = Folder.Items.Count
BodyMail = Folder.Items.Item(iRow).Body
lines = Split(BodyMail, Chr(9)) ' split multi lines in a cell by TAB
' EXTRACT DATA FROM EMAIL
For j = LBound(lines) To UBound(lines) 'export DATA from email into temporary
DATA sheet
' --- HERE I NEED INSERT THE CONDITION, SOMETHING LIKE THIS ---
If lines(j).Font.Strikethrough = True Then lines(j) = "Striketrough font : " & lines(j)
DATA.Cells(row, 1) = (lines(j))
Next j
End Sub
答
您需要与HTMLBody
物业工作明文Body
,而不是和解析返回的HTML。
代码是否运行?你可以添加一个电子邮件正文的示例图像 – 0m3r
问题是你的数组只存储文本,没有格式化(lines = Split),你需要搜索一种方法来复制整个身体 – Absinthe