从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 
+0

代码是否运行?你可以添加一个电子邮件正文的示例图像 – 0m3r

+0

问题是你的数组只存储文本,没有格式化(lines = Split),你需要搜索一种方法来复制整个身体 – Absinthe

您需要与HTMLBody物业工作明文Body,而不是和解析返回的HTML。