Excel 处理Outlook中每封电子邮件的主题行
目前,我正在尝试处理从outlook收到的每封电子邮件的主题行。所有主题行都列在F列。我想显示电子邮件的所有主题行(重复项将被删除,每个对话只保留一行-带有RE或FW的邮件已被删除)。新的工作表将包含收件箱中的所有主题行(在删除重复项后仅拍摄一次) 代码:Excel 处理Outlook中每封电子邮件的主题行,excel,vba,outlook,Excel,Vba,Outlook,目前,我正在尝试处理从outlook收到的每封电子邮件的主题行。所有主题行都列在F列。我想显示电子邮件的所有主题行(重复项将被删除,每个对话只保留一行-带有RE或FW的邮件已被删除)。新的工作表将包含收件箱中的所有主题行(在删除重复项后仅拍摄一次) 代码: 您不需要任何代码来提取所有唯一的主题行 在Outlook文件夹中,突出显示要处理的所有电子邮件 点击ctrl-c(复制) 单击excel工作表 点击ctrl-v(粘贴) 删除任何不需要的列 删除所有出现的“fw:” 删除所有出现的“re:”
您不需要任何代码来提取所有唯一的主题行
。。。完成那么你的问题是什么?你一个也没问。请阅读。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建。
1
您面临什么问题<代码>2为什么要更改Outlook主题行?为什么不将它存储在一个变量中,清除它,然后写入excel文件?@georgian1990,我应该在最初回答之前问这个问题。您是否已经在工作表中包含所有电子邮件信息?你的问题是从另一种语言翻译过来的吗?你实际上是在问如何从outlook中提取数据并将数据放入工作表,然后处理数据吗?这个答案在stackoverflow上是离题的。我同意,这是离题的,但最初提供的信息并不清楚。把评论放在问题中,这样OP就会得到自动通知。如果没有自动通知,您将在用户名前加@。
For Each oItem In objSourceFolder.Items
ThisWorkbook.Worksheets("Test 1 Mails").Range("A" & contor).Value = oItem.SentOn
ThisWorkbook.Worksheets("Test 1 Mails").Range("B" & contor).Value = oItem.CreationTime
ThisWorkbook.Worksheets("Test 1 Mails").Range("C" & contor).Value = oItem.ReceivedTime
ThisWorkbook.Worksheets("Test 1 Mails").Range("D" & contor).Value = oItem.SenderName
ThisWorkbook.Worksheets("Test 1 Mails").Range("E" & contor).Value = oItem.SenderEmailAddress
If (Left(oItem.Subject, 4) = "FW: ") Or (Left(oItem.Subject, 4) = "Fw: ") Or (Left(oItem.Subject, 4) = "RE: ") Or (Left(oItem.Subject, 4) = "Re: ") Then
oItem.Subject = Mid(oItem.Subject, 5)
oItem.Save
ThisWorkbook.Worksheets("Test 1 Mails").Range("F" & contor).Value = oItem.Subject
ThisWorkbook.Worksheets("Outlook report").Range("B" & contor).Value = oItem.Subject
Else
If Left(oItem.Subject, 5) = "FWD: " Then
oItem.Subject = Mid(oItem.Subject, 6)
ThisWorkbook.Worksheets("Test 1 Mails").Range("B" & contor).Value = oItem.Subject
ThisWorkbook.Worksheets("Outlook report").Range("B" & contor).Value = oItem.Subject
oItem.Save
End If
End If