Outlook VBA: Verschieben Sie neue (noch nicht gespeichert) Artikel zum Ordner
-
08-10-2019 - |
Frage
Ich versuche, ein neues Outlook-Element zu veranlassen, in einem bestimmten Speicher erstellt werden, wenn der Benutzer es spart. wenn es in der Regel mehrere Konten sind, wenn Sie ein neues Element (zum Beispiel drücken Sie Strg + Shift + K für eine Aufgabe) zu erstellen, das neue Element wird im Standardordner für das aktive Konto erstellt.
Ich habe versucht, den Inspektoren für das neue Element Abfangen und bewegend, aber es hatte keine Wirkung. Hier ist der Kern des Codes (Überprüfung nicht neue Objekte zu vermeiden, wird weggelassen):
Dim WithEvents inspectors As Outlook.inspectors
Private Sub Application_Startup()
Set inspectors = Application.inspectors
End Sub
Private Sub inspectors_NewInspector(ByVal Inspector As Inspector)
Dim item As Object
Set item = Inspector.CurrentItem
If item Is Nothing Then Exit Sub
If item.Class <> olTask Then Exit Sub
item.Move Application.GetNamespace("MAPI").GetDefaultFolder(olFolderTasks)
End Sub
Leider hat die Move-Methode keine Wirkung. Irgendwelche Ideen?
Lösung
Sie können nicht nicht gespeicherte Objekte bewegen. Wie schaffen Sie den Artikel?
Mit der Items.Add
Methode ein Element hinzugefügt werden (das heißt, sie erstellen) in einem bestimmten Ordner. Wenn Sie die CreateItem Methode verwenden, wird es immer für diesen Elementtyp in dem Standardordner erstellt werden.
Anstatt zu versuchen, die bestehende Funktionalität zu verwenden, um die Aufgabe zu versuchen und zu erstellen (was ich bin mir nicht sicher möglich ist oder leicht) Ich glaube, du bist besser dran, ein Makro erstellen, die die Aufgabe in dem Ordner erstellt Sie wollen, fügen Sie dann das Makro auf eine Schaltfläche in der Symbolleiste. Oder Sie könnten versuchen, das Element speichern zuerst, dann verschieben. Beachten Sie, dass Ihre aktuellen Code verschiebt das Element in den Standard Ordner Aufgaben.