2016-06-30 41 views
1

Ich habe einige Kollegen, die einige Ordner aus einem freigegebenen Posteingang löschen und macht mich verrückt.Verhindern Löschen von Ordnern in Outlook 2007/2010 vba

Ich bat sie, vorsichtiger zu sein, aber sie geben einfach keine% & *. Also habe ich eine VBA, um alle Benutzer anzuziehen, um zu verhindern, dass sie etwas aus diesem freigegebenen Postfach löschen, aber der Code funktioniert nicht.

Jede Hilfe ist willkommen.

Public WithEvents objCritFolder_EIE_E3Imp As Outlook.MAPIFolder 
Public WithEvents objCritFolder_EIE_E3Man As Outlook.MAPIFolder 

Private Sub application_Startup() 
Dim ns As Namespace 
Dim objRootFolder As Outlook.MAPIFolder 

Set ns = Application.GetNamespace("MAPI") 

Set objRootFolder = ns.Folders("MailBox - FOR ALL").Folders("Teams") 
Set objCritFolder_EIE_E3Imp = objRootFolder.Folders("TODAY") 
Set objCritFolder_EIE_E3Man = objRootFolder.Folders("TODAY + 1") 
Set objRootFolder = Nothing 
End Sub 

Private Sub objCritFolder_EIE_E3Imp_BeforeFolderMove(ByVal MoveTo As MAPIFolder, cancel As Boolean) 
Dim strMsg As String 
cancel = True 
strMsg = "You can't move the TODAY folder." 
MsgBox strMsg, vbCritical, "Folder Move Not Allowed" 
End Sub 
Private Sub objCritFolder_EIE_E3Man_BeforeFolderMove(ByVal MoveTo As MAPIFolder, cancel As Boolean) 
Dim strMsg As String 
cancel = True 
strMsg = "You can't move the TODAY + 1 folder." 
MsgBox strMsg, vbCritical, "Folder Move Not Allowed" 
End Sub 

Das Problem ist bei:

Public WithEvents objCritFolder_EIE_E3Imp As Outlook.MAPIFolder 
Public WithEvents objCritFolder_EIE_E3Man As Outlook.MAPIFolder 

Es gibt mir: "Objekt nicht Quelle Automations-Events"

+0

"does not source" - das ist nicht möglich - das Objekt, dem Sie Automatisierungsereignisse hinzufügen möchten, unterstützt keine Automatisierungsereignisse. –

Antwort

1

ich es geschafft, den Fehler zu reproduzieren. Fehler behoben, indem MAPI aus MAPIFolder entfernt wurde.

Public WithEvents objCritFolder_EIE_E3Imp As Outlook.Folder 
+0

Hallo, danke, dass es irgendwie funktioniert. Das Problem ist, dass manchmal funktioniert und manchmal nicht funktioniert. Ich habe eine Sub-Init() gemacht, um alle Ordner zu deklarieren und Call-Init in den Application_Startup zu setzen, aber es nimmt es nicht. Ich muss den Init Sub manuell ausführen, um zu arbeiten. – wittman