我已经创建了一个宏,该宏将选定的电子邮件附加到邮件,然后将其发送到预先填充的地址。
但是有时宏会停止附加选定的电子邮件。
任何人都可以告知原因吗?这是我的代码。
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
好,您应该从代码中删除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