2014-06-06 72 views
0

我在Outlook中有VBA代碼我在發送'This Outlook Session'後發送特定電子郵件(在主題行中有三個星號)到刪除的文件夾中。Outlook VBA在第二天停止運行

當Outlook第一次打開並且整天工作正常時,然而,第二天我發現在某些時間點VBA代碼無法正常工作,並且只有在關閉\重新打開Outlook時才能正常運行。 ?

這隻發生在公司轉移到2007年版本的2007 &版本時。

我需要它在發送的郵件上不斷運行,因爲我有早期的批處理過程,發送了大量的電子郵件,我想從已發送的文件夾中刪除並在發送完這些代碼後發送到已刪除的文件夾中。

這是代碼。由於之前運行良好,我只能假設較新的Outlook版本需要一些額外的觸發器來保持「This Outlook Session」打開或具有這種性質。

任何想法將不勝感激。

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 

回答

0

我建議你看看信任中心設置>>宏。 Office 2003採用了不同的方式,並且在Office 2003之後都是全新的。

嘗試不同的設置並查看哪一個適合您的需要。他們共有四個設置級別。

此外,僅使用一個版本的Outlook是個好主意。如果你有兩個人,請不要在2007年和2010年之間轉換。 Outlook版本不能與創建錯誤一起存在。

此頁面應該能夠給我更多的細節。

Click Here