gpt4 book ai didi

vba - 将当前消息作为附件转发,然后删除原始消息

转载 作者:行者123 更新时间:2023-12-05 06:46:34 45 4
gpt4 key购买 nike

我的工作 Outlook 2010 帐户收到大量垃圾邮件。我获得了我们的垃圾邮件拦截器地址,可以将垃圾邮件(作为附件)转发到。

我想单击功能区上的一个图标(我已经有这个)并运行 VBA 代码以获取当前消息,将其附加到新消息,向新消息添加地址,发送新消息消息,然后删除原始消息。 (删除可以是将邮件放入“已删除邮件”文件夹或永久删除。)

已解决!!!!

这是完全符合我要求的代码。我在网上找到它并对其进行了修改以满足我的需要。

Sub ForwardAndDeleteSpam()
'
' Takes currently highlighted e-mail, sends it as an attachment to
' spamfilter and then deletes the message.
'

Set objItem = GetCurrentItem()
Set objMsg = Application.CreateItem(olMailItem)

With objMsg
.Attachments.Add objItem, olEmbeddeditem
.Subject = "SPAM"
.To = "spamfilter@schools.nyc.gov"
.Send
End With
objItem.Delete

Set objItem = Nothing
Set objMsg = Nothing
End Sub

Function GetCurrentItem() As Object
On Error Resume Next
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = Application.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = Application.ActiveInspector.CurrentItem
Case Else
' anything else will result in an error, which is
' why we have the error handler above
End Select

Set objApp = Nothing
End Function

最佳答案

您可以使用它来浏览一系列电子邮件,而不仅仅是一个,方法是按如下方式调整代码

Sub ForwardSpamToNetworkBox()

On Error Resume Next

Dim objItem As Outlook.MailItem

If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("No item selected")
Exit Sub
End If

For Each objItem In Application.ActiveExplorer.Selection
Set objMsg = Application.CreateItem(olMailItem)
With objMsg
.Attachments.Add objItem, olEmbeddeditem
.Subject = "SPAM"
.To = "spam@host.co.uk"
.Send
End With
objItem.Delete
Next

Set objItem = Nothing
Set objMsg = Nothing

End Sub

这是使用来自 http://jmerrell.com/2011/05/21/outlook-macros-move-email 的信息创建的

理想情况下,我不会将其删除,而是将其移至名为“已提交”的子文件夹,但我无法在公共(public)文件夹中使用它

关于vba - 将当前消息作为附件转发,然后删除原始消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14589250/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com