Wie füge ich in Outlook 2013 (Windows 8.1) beim Empfangen von RSS-Nachrichten eine Regel hinzu, um ein Skript auszuführen?

545
Herb

In Microsoft Outlook 2013 unter Windows 8.1 habe ich verschiedene Regeln, die mehrere VBA-Skripts ausführen.

Dafür habe ich:

Files → Options → Trust Center → Macrosettings → Activate all macros 

Und auch der Registry-Eintrag:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security DWORD: EnableUnsafeClientMailRules Value: 1 

Jetzt möchte ich, dass eingehende RSS-Feeds die Ausführung eines Skripts auslösen, aber ich kann es nicht zum Laufen bringen. (Ich bin sicher, dass dies vor einiger Zeit funktioniert hat (2 Jahre?), Aber das war auf einem anderen Computer, auf den ich keinen Zugriff mehr habe. Mögliches Microsoft "Sicherheitsupdate" noch einmal?)

Jedenfalls habe ich RSS-Feeds hinzugefügt

Files → Account settings → RSS Feeds → New 

Ein solches Futter ist

http://rss.cnn.com/rss/edition_europe.rss 

Die Feeds funktionieren gut und Nachrichten werden wie gewünscht abgerufen. Standardmäßig werden sie in einem automatisch erstellten Ordner unter meinem E-Mail-Konto im linken Bereich angezeigt:

myname@mydomain.com ... RSS feeds ... CNN Europe 

Um nun eine Regel zu erstellen, verwende ich die leere Regelvorlage, um eine Regel für von mir empfangene Nachrichten zu erstellen.

In gibt es eine wählbare Bedingung "aus beliebigen RSS-Feeds". Ich wähle es aus und auf der nächsten Seite wähle ich "Skript ausführen". Ich wähle das beabsichtigte Skript aus und beende die Regel.

Die Feeds produzieren Nachrichten, aber das Skript wird nie eingegeben (ich habe einen Haltepunkt für die erste ausführbare Anweisung angegeben).

Ich habe versucht, den Speicherort der Feeds mithilfe eines anderen Ziels zu ändern, damit der Feed so aussieht, als wären die Feeds Teil meines Posteingangs.

myname@mydomain.com Inbox ... RSS ... CNN Europe 

Ohne Erfolg: Die Regel wird einfach nicht ausgeführt.

Irgendwelche Hinweise?

2
Offenbar hat ein Sicherheitsupdate Skripts deaktiviert. Prüfen Sie zuerst, ob die Einstellung für "EnableUnsafeClientMailRules" noch vorhanden ist oder irgendwie rückgängig gemacht wurde. Sie können das Skript auch direkt über [NewMail] (https://msdn.microsoft.com/de-de/VBA/Outlook-VBA/articles/application-newmail-event-outlook) oder [ItemAdd] (https:) ausführen. //msdn.microsoft.com/en-us/VBA/Outlook-VBA/articles/items-itemadd-event-outlook), aber es muss in VBA geschrieben werden. harrymc vor 6 Jahren 0
Ich habe gerade nachgesehen, es ist immer noch da. Dies muss jedoch so gewesen sein, da das Vorhandensein des Kontrollkästchens nicht dazu führen kann, dass ein VBA-Skript ausgeführt wird. Denken Sie daran, dass die auf E-Mails angewendeten VBA-Skripts einfach und wie erwartet funktionieren. Ich kann jedoch kein VBA-Skript auf einen Ordner anwenden, der RSS-Feeds erhält. Es ist kein Fehler oder so, das Skript wird einfach nicht eingegeben. Herb vor 6 Jahren 0
@ harrymc, ich verwende das `MailItem`-Objekt als` Public Sub ScanRSSPost (Item As Outlook.MailItem) `. Soll ich ein anderes Objekt verwenden? Herb vor 6 Jahren 0
Ich habe das nicht selbst gemacht, aber ich weiß, dass NewMail oder ItemAdd in diesem Fall häufiger empfohlen werden als MailItem. harrymc vor 6 Jahren 0
@ harrymc, du hast mich in die richtige Richtung gelenkt. Wenn Sie eine richtige Antwort darauf machen, würde ich Ihnen die Antwort und die Prämie zuschreiben. Lösung: (1) `Sub ScanRSSPost (Item As Outlook.PostItem)`, wird jedoch nicht in der Regelliste angezeigt. Um es erscheinen zu lassen, ersetzen Sie `PostItem 'durch` MailItem`, was funktioniert, (2) bauen Sie die Regel auf (führen Sie in einem RSS-Post das Skript `ScanRSSPost`) aus, und (3) gehen Sie zurück zum Skript und ersetzen Sie` MailItem` von "PostItem" (Outlook wird sich nicht beschweren), dann KOMMENTIEREN SIE DEN VERFAHREN IM SCHRIFT! Danke, Kumpel. Herb vor 6 Jahren 0

1 Antwort auf die Frage

1
harrymc

Ein Microsoft-Sicherheitsupdate hat die Regelskripts deaktiviert, da Microsoft es viel einfacher fand, sie zu beseitigen, als die Sicherheitslücken zu schließen. Das bedeutet, dass PostItemSkripts beim Erstellen der Regel nicht einmal in der Liste angezeigt werden.

Der verbleibende Weg besteht also darin, ein VBA-Skript mit den noch funktionierenden Ereignissen NewMail oder ItemAdd zu verwenden.

Das Poster meldet diese hinterlistige Lösung als die Lösung, die für ihn funktioniert hat:

  1. MailItemSkript erstellen :

    Sub ScanRSSPost(Item As Outlook.MailItem) 
  2. Erstellen Sie die Regel wie folgt: Führen Sie auf einem RSS-Post das Skript ScanRSSPost aus.

  3. Gehen Sie zurück zum Skript und ersetzen Sie es MailItemdurch PostItem(Outlook beschwert sich nicht).