【问题标题】:Delete from new mail a signature copied from old mail从新邮件中删除从旧邮件中复制的签名
【发布时间】:2020-06-28 14:18:29
【问题描述】:

我选择任何邮件来打开一个新邮件项,邮件正文由所选邮件的主题、邮件正文和 FromSenderAddress 组成。

我在我的新邮件正文中获得了所选邮件的签名内容。

我如何消除签名内容(谢谢..Regards...xxxxx.etc;)所以它不在我的新邮件正文中。

Public Sub CreateNewMessage()

Dim objMsg As MailItem
Dim Selection As Selection
Dim obj As Object

Set Selection = ActiveExplorer.Selection

For Each obj In Selection

    Set objMsg = Application.CreateItem(olMailItem)

    With objMsg
      .To = ""
      .CC = ""
      .BCC = ""
      .Subject = ""
      .Body = "<Subject> " & obj.Subject & _ 
           " </Subject>" & vbCrLf & vbCrLf & _
           "<Mail> " & obj.Body & " </Mail>" & vbCrLf & vbCrLf & _
           "<Sender> " & obj.SenderEmailAddress & " </Sender>"
      .Sensitivity = olConfidential
      .Display
    End With

    Set objMsg = Nothing
Next
End Sub

【问题讨论】:

  • 我不认为签名保存在电子邮件的单独部分中,因此只能通过文本搜索来检测它。但也许有一个“ObjMail.HTMLBody = ObjMail.Body”的hack。看看这篇文章,问题是相反的 -> stackoverflow.com/questions/8994116/… 如果有人给你一个干净的方法来检测身体,我建议不要使用我的评论;)
  • 是的,签名包含在所选邮件的邮件正文中。那么,如何在objMsg.Body中对此类内容进行文本搜索。

标签: vba outlook


【解决方案1】:

如果你在签名中有一个关键字,它总是和“最好的问候”一样,你可以使用这个:

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 = "Best Regards"
endStrLen = Len(endStr)

msgStr = currMail.HTMLBody
endStrStart = InStr(msgStr, endStr)

If endStrStart > 0 Then
    currMail.HTMLBody = Left(msgStr, endStrStart + endStrLen)
End If

End Sub

如果您没有关键字或其他关键字,则可能很难找到签名

【讨论】:

  • 我以前见过这个代码,但是我在我的代码的.Body 哪里调用这个代码。
  • 只需将 currMail 更改为 objMsg
  • 没关系...但是在我的 .Body 代码中,我在哪里调用此 DeleteAfterText() 方法。
  • 啊不,当然你需要你的对象obj,你应该在with之前调用函数
  • 我尝试通过添加您提供的代码来运行宏,但它显示“运行时错误91: object variable or with block variable not set”,而且所选邮件也是如此跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 2013-07-27
  • 2019-05-19
  • 2017-02-01
  • 2019-12-09
  • 2016-10-30
相关资源
最近更新 更多