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
Outlook VBA第二天停止运行_Vba_Email_Outlook - Fatal编程技术网

Outlook VBA第二天停止运行

Outlook VBA第二天停止运行,vba,email,outlook,Vba,Email,Outlook,我在Outlook中有VBA代码,用于在“此Outlook会话”中发送后将特定电子邮件(主题行中有三个星号)发送到已删除文件夹 第一次打开Outlook时,它可以正常工作,并且整天都可以正常工作。但是,第二天晚上,我发现VBA代码无法正常工作,只有在关闭\r\n重新打开Outlook时,它才能正常工作 这只是在该公司迁移到2007和2010版本时才开始发生的 我需要它不断地在发送的邮件上运行,因为我有早期的am批处理程序,这些批处理程序发送了很多我想从发送的文件夹中删除的邮件,并在每次发送后放入

我在Outlook中有VBA代码,用于在“此Outlook会话”中发送后将特定电子邮件(主题行中有三个星号)发送到已删除文件夹

第一次打开Outlook时,它可以正常工作,并且整天都可以正常工作。但是,第二天晚上,我发现VBA代码无法正常工作,只有在关闭\r\n重新打开Outlook时,它才能正常工作

这只是在该公司迁移到2007和2010版本时才开始发生的

我需要它不断地在发送的邮件上运行,因为我有早期的am批处理程序,这些批处理程序发送了很多我想从发送的文件夹中删除的邮件,并在每次发送后放入删除的文件夹,就像此代码所做的那样

这是代码。由于它以前工作得很好,我只能假设较新的Outlook版本需要一些额外的触发器来保持“此Outlook会话”打开或类似的性质

如有任何想法,将不胜感激

Option Explicit
Private WithEvents olSentItems As Items
Private Sub Application_Startup()
Dim objNS As NameSpace
Set objNS = Application.GetNamespace("MAPI")
Set olSentItems = objNS.GetDefaultFolder(olFolderSentMail).Items
End Sub
Private Sub olSentItems_ItemAdd(ByVal Item As Object)
If Item.Class = olMail And InStr(1, Trim(Item.Subject), " * * * ", vbTextCompare) > 0 _
Then
Item.Delete
End If
End Sub

我建议您查看一下信任中心设置>>宏。Office2003以一种不同的方式拥有它,它在Office2003之后是全新的

尝试不同的设置,看看哪个适合你的需要。它们总共是四个设置级别

另外,最好只使用一个版本的Outlook。如果2007年和2010年两者都有,就不要互换。Outlook版本不能与Bug的创建共存

这一页应该能给我更多的细节