Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Outlook脚本:转发不带附件的电子邮件_Vba_Email_Outlook - Fatal编程技术网

Vba Outlook脚本:转发不带附件的电子邮件

Vba Outlook脚本:转发不带附件的电子邮件,vba,email,outlook,Vba,Email,Outlook,我正在寻找一个脚本转发所有传入的电子邮件到一个通讯组,但没有附件。我需要将附件保留在原始电子邮件中,这样它就不能被删除。我正在使用Microsoft Outlook 2010 因此,为了清楚起见:电子邮件附带了一些东西。我想把这封邮件连同附件一起转发到另一个地址,同时原封未动 提前感谢任何能提供帮助的人 编辑:此过程需要在收到此地址的每封电子邮件上自动进行。将以下代码放入您的ThisOutlookSession模块: Private Sub Application_NewMailEx(ByVal

我正在寻找一个脚本转发所有传入的电子邮件到一个通讯组,但没有附件。我需要将附件保留在原始电子邮件中,这样它就不能被删除。我正在使用Microsoft Outlook 2010

因此,为了清楚起见:电子邮件附带了一些东西。我想把这封邮件连同附件一起转发到另一个地址,同时原封未动

提前感谢任何能提供帮助的人


编辑:此过程需要在收到此地址的每封电子邮件上自动进行。

将以下代码放入您的
ThisOutlookSession
模块:

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim varEntryID As Variant

    For Each varEntryID In Split(EntryIDCollection, ",")
        Dim objOriginalItem As MailItem
        Set objOriginalItem = Application.GetNamespace("MAPI").GetItemFromID(varEntryID)
        Dim objForwardedItem As MailItem
        Set objForwardedItem = objOriginalItem.Forward

        Do Until objForwardedItem.Attachments.Count = 0
            objForwardedItem.Attachments.Remove (1)
        Loop

        objForwardedItem.To = "toemailaddress@domain.com"
        objForwardedItem.Send
    Next
End Sub

可以在项目资源管理器中的VBA IDE(Alt+F11)中访问此模块:
Project>Microsoft Outlook Objects>ThisOutlookSession

这会自动发生吗?或者它会从功能区上的一个按钮发生吗?它需要自动发生对不起,我应该在原始问题中包含这个,所以我会编辑它。。但它需要在收到的每封电子邮件上自动发生。请原谅我的无知,但我如何在收到的邮件上运行它?它将在新邮件到达时运行,因为它位于
应用程序\u NewMailEx
事件处理程序中。这是一个内置事件处理程序,您可以从
ThisOutlookSession
模块内部在Outlook VBA中使用。它不起作用。我将代码放入ThisOutlookSession模块,但当收到电子邮件时,什么也不会发生。我还确保更改了“转发到”电子邮件地址。有宏可用吗?Outlook是否设置为信任宏?在Outlook选项“信任中心”页面>“信任中心设置”按钮>“宏设置”页面下进行检查--确保选中“启用所有宏”。此外,您还可以通过创建一个“Sub test()”来运行一个简单的测试,该“Sub test()”在子主体中只包含一个Msgbox(“testing”),然后将光标放在主体中并点击F5。如果看到该对话框,宏正在工作。