我目前正在使用vba为一个项目匿名化电子邮件。
目前收到电子邮件时,我创建了一条规则,将电子邮件移动到一个文件夹中,之后我使用getlast函数运行一个脚本,在该特定文件夹中,我显示新收到的电子邮件并复制其中的内容。发送电子邮件,然后将其粘贴到新电子邮件中并发送到特定的电子邮件地址。这有效地删除了电子邮件的识别功能。
Rubik's Cube的最终动作是找到电子邮件签名并替换为空白,换句话说,删除签名。我会有电子邮件签名来做这件事,但如果有人可以帮忙解决这个问题会很棒......
答案 0 :(得分:3)
我找到了这个解决方案。
'I also had to add Word in tools/references of VBA and then Call DeleteSig(msg) after displaying the item.
'http://www.access-programmers.co.uk/forums/showthread.php?t=259417
Sub DeleteSig(msg As Outlook.MailItem)
Dim objDoc As Word.Document
Dim objBkm As Word.Bookmark
On Error Resume Next
Set objDoc = msg.GetInspector.WordEditor
Set objBkm = objDoc.Bookmarks("_MailAutoSig")
If Not objBkm Is Nothing Then
objBkm.Select
objDoc.Windows(1).Selection.Delete
End If
Set objDoc = Nothing
Set objBkm = Nothing
End Sub
答案 1 :(得分:2)
这不是很难,但取决于邮件的某些属性:
我认为您使用Outlook.MailItem
' Definition of your mail
Dim OutMail As Outlook.MailItem
dim signature as string
...
with OutMail
.HTMLBody = Replace(.HTMLBody, signature, "")
End with
如果您拥有的签名不是完全匹配,那么它会有点棘手。 我建议创建一个检测签名并在没有它的情况下返回HTMLBody的函数