Outlook宏问题-有时未添加附件

问题描述 投票:0回答:1

我已经创建了一个宏,该宏将选定的电子邮件附加到邮件,然后将其发送到预先填充的地址。

但是有时宏会停止附加选定的电子邮件。

任何人都可以告知原因吗?这是我的代码。

Sub ForwardOutsource()

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
        .SentOnBehalfOfName = "[email protected]"
        .Attachments.Add objItem, olEmbeddeditem
        .Subject = objItem.Subject
        .To = "[email protected]"
        .Display
        End With
Next

Set objItem = Nothing
Set objMsg = Nothing

End Sub
vba outlook outlook-vba
1个回答
0
投票

好,您应该从代码中删除On Error Resume Next,基本上是在告诉代码如果发生错误则继续下一行。

通过您还没有正确使用它的方式

这里是很好的链接http://www.cpearson.com/Excel/ErrorHandling.htm

下一次尝试使用Option Explicit和声明变量

清理您的代码示例

Option Explicit
Public Sub Fw_Items_As_Atmt()
    '//  Declare variables
    Dim msg As Outlook.MailItem
    Dim Item As Outlook.MailItem

'    Select msg
    If Application.ActiveExplorer.Selection.Count = 0 Then
        MsgBox ("No Item selected")
        Exit Sub
    End If

    Set msg = Application.CreateItem(olMailItem)

    For Each Item In Application.ActiveExplorer.Selection

        With msg
            .Attachments.Add Item, olEmbeddeditem ' Attch Selected email
            .Subject = "See Attached Items"
            .To = ""
            .CC = ""
            .HTMLBody = ""
            .Display
        '    .Send
        End With
    Next

    '// Clean up
    Set Item = Nothing
    Set msg = Nothing
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.