[英]get certain text from outlook email body using vba?
我正在使用以下代码从我的电子邮件正文中检索公司名称。 所以例如如果我有
Company name: Hewden
然后我想要'Hewden'
在我的电子邮件正文中的公司名称下方,我还有以下内容:
company number: 123
company status: live
kind regards,
automated email
我正在使用以下代码尝试仅检索公司名称“Hewden”,而没有任何前后文本。
我在b4 = olkmsgt.Body
行上收到无效的过程调用或参数错误
并且不知道为什么,有人可以告诉我如何修改它以使其达到我想要的效果。
谢谢
Dim b4 As String
b4 = olkMsg.Body
Dim indexOfNameb As Integer
indexOfNameb = InStr(1, b4, "Company Name: ")
Dim indexOfNamec As Integer
indexOfNamec = InStr(1, b4, "Company number: ")
Dim finalStringb As String
finalStringb = Mid(b4, indexOfNameb, indexOfNamec - indexOfNameb)
Dim LResult36 As String
LResult36 = Replace(finalStringb, "Company Name: ", "")
excWks4.Cells(intRow4, 1) = LResult36
您可能想要检查对象/项目 olkMsg 是否为 Outlook MailItem。 它可能是没有正文属性的邀请、任务等。
if TypeName(olkMsg) = "MailItem" then
b4 = olkMsg.Body
...
编辑(回答评论): InStr() 区分大小写。 “公司名称:”不是“公司名称:”尝试将所有字符串放入UCases以摆脱大小写敏感:
If TypeName(olkMsg) = "MailItem" Then
b4 = olkMsg.Body
Dim indexOfNameb As Integer
indexOfNameb = InStr(UCase(b4), UCase("Company name: "))
Dim indexOfNamec As Integer
indexOfNamec = InStr(UCase(b4), UCase("Company number: "))
Dim finalStringb As String
finalStringb = Mid(b4, indexOfNameb, indexOfNamec - indexOfNameb)
Dim LResult36 As String
LResult36 = Replace(finalStringb, "Company Name: ", "")
excWks4.Cells(intRow4, 1) = LResult36
End If
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.