excel - VBA,Excel将电子邮件正文多行提取到excel单元格中
问题描述
我有将电子邮件正文提取到 excel 列中的按钮(下面的代码),我的问题是“问题描述:”有时不止一行,然后下一列“导航错误号:”应该是问题的下一行描述。
以下是此收件箱将收到的电子邮件示例:
Platform: Nav
Department: HR
Site: Thailand
Process: Test
Area: Purchase Orders
Issue description: This is only test
Nav error No.: Error test
代码:
For Each olItem In olItems
rCount = rCount + 1
ws.Range("A" & rCount).Value = olItem.ReceivedTime
ws.Range("B" & rCount).Value = olItem.SenderName
ws.Range("C" & rCount).Value = olItem.Subject
arrayLines = Split(olItem.Body, vbCrLf)
ws.Range("D" & rCount).Value = Split(arrayLines(0), ": ")(1) '<--- Platform
ws.Range("E" & rCount).Value = Split(arrayLines(1), ": ")(1) '<--- Department
ws.Range("F" & rCount).Value = Split(arrayLines(2), ": ")(1) '<--- Site
ws.Range("G" & rCount).Value = Split(arrayLines(3), ": ")(1) '<--- Process
ws.Range("H" & rCount).Value = Split(arrayLines(4), ": ")(1) '<--- Area
ws.Range("I" & rCount).Value = Split(arrayLines(5), ": ")(1) '<--- Issue description
If arrayLines(6) = "" Then
ws.Range("J" & rCount).Value = "N/A" '<--- Nav error empty
Else
ws.Range("J" & rCount).Value = Split(arrayLines(6), ": ")(1) '<--- Nav error message
End If
Next olItem
我想在进入下一列(导航错误)之前将问题描述的全长添加到数组中。
提前感谢您的帮助。
解决方案
如果我理解得很好,您就会知道您要查找的描述包含在字符串之间Issue description:
,有时字符串Nav error No.:
可能存在也可能不存在。
如果总是这样,那么您可以简单地提取您的描述,方法是用 string 拆分整个邮件正文Issue description:
,然后取出第 1 部分并按 string 拆分Nav error No.:
,然后获取 element 0
。
基本上那将是:
IssueDescription = Split(Split(olItem.Body, "Issue description: ")(1), "Nav error No.:")(0)
该变量IssueDescription
现在包含整个描述,无论是在一行还是多行。如果你想在一个单元格中打印它(因此你不想要换行符),你可以用空格替换它们:
IssueDescription = Replace(IssueDescription, vbCrLf, " ")
ws.Range("I" & rCount).Value = IssueDescription
推荐阅读
- python - BeautifulSoup 没有提取所有页面
- java - @Path 有效,但 @RequestMapping 没有 Java Spring Boot
- delphi - 如何将 4 字节字符串转换为 unicode 表情符号?
- c++ - 为什么复制构造函数被调用两次?C++
- c# - 使用 AppSrc 将视频文件与 GStreamer 连接起来
- node.js - JS 应用程序 REACTDOM.render() 崩溃
- angular - 跳过 TypeScript 函数中的参数
- memory - 释放 SAS 内存
- python - 如何将扩展的 html 重定向到 Flask 中的登录表单
- confluence - 尝试使用 REST API 创建页面时出现 500 错误