在 Outlook 2013 中查找电子邮件中的文本并删除在此之前的所有文本
Find Text in an email and delete all text before this in Outlook 2013
我想在一封电子邮件中找到一个字符串,并删除它之前的所有文本。恰恰相反:
Option Explicit
Sub DeleteAfterText()
' Deletes all text after endStr.
Dim currMail As mailitem
Dim msgStr As String
Dim endStr As String
Dim endStrStart As Long
Dim endStrLen As Long
Set currMail = ActiveInspector.CurrentItem
endStr = "Text"
endStrLen = Len(endStr)
msgStr = currMail.HTMLBody
endStrStart = InStr(msgStr, endStr)
If endStrStart > 0 Then
currMail.HTMLBody = Left(msgStr, endStrStart + endStrLen)
End If
End Sub
取自此堆栈溢出页面的示例:Find Text in an email and delete all text after this in Outlook 2010
感谢您的帮助。
关键行应该是这样的:
currMail.body = Right(msgStr, Len(msgStr) - (endStrStart - 1))
在原始代码的基础上再添加一点:
Option Explicit
Sub DeleteBeforeText_not_olFormatHTML()
Dim currMail As mailItem
Dim msgStr As String
Dim endStr As String
Dim endStrStart As Long
Dim endStrLen As Long
Set currMail = ActiveInspector.currentItem
endStr = "Text"
endStrLen = Len(endStr)
If currMail.BodyFormat = olFormatHTML Then
currMail.BodyFormat = olFormatRichText
End If
msgStr = currMail.body
endStrStart = InStr(msgStr, endStr)
If endStrStart > 0 Then
currMail.body = Right(msgStr, Len(msgStr) - (endStrStart - 1))
End If
End Sub
我想在一封电子邮件中找到一个字符串,并删除它之前的所有文本。恰恰相反:
Option Explicit
Sub DeleteAfterText()
' Deletes all text after endStr.
Dim currMail As mailitem
Dim msgStr As String
Dim endStr As String
Dim endStrStart As Long
Dim endStrLen As Long
Set currMail = ActiveInspector.CurrentItem
endStr = "Text"
endStrLen = Len(endStr)
msgStr = currMail.HTMLBody
endStrStart = InStr(msgStr, endStr)
If endStrStart > 0 Then
currMail.HTMLBody = Left(msgStr, endStrStart + endStrLen)
End If
End Sub
取自此堆栈溢出页面的示例:Find Text in an email and delete all text after this in Outlook 2010
感谢您的帮助。
关键行应该是这样的:
currMail.body = Right(msgStr, Len(msgStr) - (endStrStart - 1))
在原始代码的基础上再添加一点:
Option Explicit
Sub DeleteBeforeText_not_olFormatHTML()
Dim currMail As mailItem
Dim msgStr As String
Dim endStr As String
Dim endStrStart As Long
Dim endStrLen As Long
Set currMail = ActiveInspector.currentItem
endStr = "Text"
endStrLen = Len(endStr)
If currMail.BodyFormat = olFormatHTML Then
currMail.BodyFormat = olFormatRichText
End If
msgStr = currMail.body
endStrStart = InStr(msgStr, endStr)
If endStrStart > 0 Then
currMail.body = Right(msgStr, Len(msgStr) - (endStrStart - 1))
End If
End Sub