VBA脚本未在Outlook 2007中运行
我在通过Outlook2007发送的每封邮件上都为自己添加了一个新的VBA脚本。代码似乎工作得很好。我遇到的问题是,每次重新启动计算机并加载Outlook 2007时,直到打开VBA编辑器后,代码才生效。即使我关闭编辑器,它也会以这种方式继续正常运行。每次打开Outlook 2007时是否必须先打开然后关闭VBA编辑器?在打开并加载Outlook 2007时,是否有方法强制VBA脚本参与 以下是我正在使用的脚本:VBA脚本未在Outlook 2007中运行,vba,loading,outlook-2007,Vba,Loading,Outlook 2007,我在通过Outlook2007发送的每封邮件上都为自己添加了一个新的VBA脚本。代码似乎工作得很好。我遇到的问题是,每次重新启动计算机并加载Outlook 2007时,直到打开VBA编辑器后,代码才生效。即使我关闭编辑器,它也会以这种方式继续正常运行。每次打开Outlook 2007时是否必须先打开然后关闭VBA编辑器?在打开并加载Outlook 2007时,是否有方法强制VBA脚本参与 以下是我正在使用的脚本: Private Sub Application_ItemSend(ByVal It
Private Sub Application_ItemSend(ByVal Item As Object, _
Cancel As Boolean)
Dim objRecip As Recipient
Dim strMsg As String
Dim res As Integer
Dim strBcc As String
On Error Resume Next
' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address
' or resolvable to a name in the address book
strBcc = "email@domain.com"
Set objRecip = Item.Recipients.Add(strBcc)
objRecip.Type = olBCC
If Not objRecip.Resolve Then
strMsg = "Could not resolve the Bcc recipient. " & _
"Do you want to send the message?"
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
"Could Not Resolve Bcc")
If res = vbNo Then
Cancel = True
End If
End If
Set objRecip = Nothing
End Sub
首先,检查Outlook中的宏安全设置。如果将它们设置为“无警告并禁用所有宏”(最高安全设置),您仍然可以直接从VBA IDE运行代码,但由于宏已禁用,因此当VBA IDE未打开时,您的代码不会从Outlook的资源管理器运行 如果您的安全设置足够低,允许运行宏,那么下一步就是尝试确定错误发生的位置。首先删除“出错时继续下一步”行(顺便说一句,这是一件可怕的事情),并将其替换为“出错时转到错误陷阱” 然后,编写一个名为ErrTrap()的子例程来处理错误。您可以使用Err.Number和Err.Description对象将有意义的错误消息提供给MessageBox。在这里发布消息,我们可能会帮助您解决问题 干杯
-=Cameron问题似乎来自您的信任中心设置。您需要调整Outlook中的宏安全设置。尝试将其设置为最低级别。