Perspectives VBA: nouveau mouvement (non enregistré) élément dans le dossier
-
08-10-2019 - |
Question
Je suis en train de faire un nouvel élément Outlook à créer dans un magasin spécifique lorsque l'utilisateur enregistre. Normalement, s'il y a plusieurs comptes, lorsque vous créez un nouvel élément (par exemple appuyez sur Ctrl + Maj + K pour une tâche), le nouvel élément est créé dans le dossier par défaut pour le compte actif.
J'ai essayé d'intercepter l'inspecteur pour le nouvel élément et le déplacer, mais il n'a eu aucun effet. Voici l'essentiel du code (vérification pour éviter les éléments non nouvelles est omise):
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
Malheureusement, la méthode Move n'a pas d'effet. Toutes les idées?
La solution
Vous ne pouvez pas déplacer des éléments non enregistrés. Comment créez-vous l'article?
Utilisez la méthode Items.Add
pour ajouter un élément (à savoir créer) dans un dossier spécifique. Si vous utilisez la méthode CreateItem, il sera toujours créé dans le dossier par défaut pour ce type d'élément.
Au lieu d'essayer d'utiliser les fonctionnalités existantes pour essayer de créer la tâche (que je ne suis pas sûr est possible ou facile) Je pense que vous êtes mieux de créer une macro qui crée la tâche dans le dossier que vous voulez, puis ajouter la macro à un bouton de la barre d'outils. Ou vous pourriez essayer de sauvegarder l'élément premier, puis déplacez-le. Notez que votre code actuel déplace l'élément au dossier par défaut Tâches.