2016-07-06 12 views
1

Ich habe versucht, eine Antwort auf meine Frage aus dem ganzen Web zu finden. Da ich nicht so viel Erfahrung von Outlook-VBA habe ich beschlossen, hier zu fragen.Ausführen eines Skripts im freigegebenen Postfach nur beim Öffnen einer E-Mail

Was ich versuche, ist ein Skript auszuführen, wenn Benutzer eine Mail öffnet. Außerdem muss ich dieses Skript nur in freigegebenen Postfächern ausführen, die nicht in der eigenen Box des Benutzers sind.

Ich habe den Code in den Benutzern @ZZA question # 21727768 verwendet, aber es hat den kleinen Ärger mit dem Erstellen einer E-Mail und die Antwort auf eine auch (es führt das Skript in diesen Fällen auch). Es ist hilfreich, aber ich habe keine Möglichkeit gefunden, diesen Code nur auf Fälle anzuwenden, in denen Benutzer eine Mail aus einem freigegebenen Postfach öffnen.

Irgendwelche Hilfe hier?

Danke!

+0

Hatte Sie versuchen alles andere als Kopieren und Einfügen des Codes aus dieser Frage? –

+0

Sie sollten sich dies für die Arbeit mit einem freigegebenen Postfach ansehen http://www.slipstick.com/developer/code-samples/use-macro-assign-messages-shared-mailbox/ –

+0

Können Sie das Skript, das Sie sind, posten versuchen zu rennen? – 0m3r

Antwort

1

Okay, finde ich eine noch einfachere Art und Weise, dies zu tun (das von der Frage nach, in der OP verbunden meist Code ist)

Public WithEvents myItem As Outlook.MailItem 
Public EventsDisable As Boolean 



Private Sub Application_ItemLoad(ByVal Item As Object) 
    If EventsDisable = True Then Exit Sub 
    If Item.Class = olMail Then 
     Set myItem = Item 
    End If 
End Sub 


Private Sub myItem_Open(Cancel As Boolean) 
    EventsDisable = True 
    'this is the new part 
    If myItem.Parent = "NAMEOFYOURSHAREDINBOX" Then 
     'your code here 
    End If 
    EventsDisable = False 
End Sub 

Meist Kredite hstay

HTH

+0

Vielen Dank! Das hat mein Problem gelöst. Und dank @hstay auch. – AkAntA