Pregunta

Estoy tratando de provocar un nuevo elemento de Outlook que ser creado en un almacén específico cuando el usuario lo guarda. Normalmente, si hay múltiples cuentas, cuando se crea un nuevo elemento (por ejemplo, pulse Ctrl + Shift + K para una tarea), el nuevo elemento se crea en la carpeta predeterminada para la cuenta activa.

He intentado interceptar el inspector para el nuevo elemento y moverlo, pero no tuvo ningún efecto. Aquí está la esencia del código (comprobación para evitar la falta de nuevos elementos se omite):

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

Por desgracia, el método Move no tiene ningún efecto. Algunas ideas?

¿Fue útil?

Solución

No se puede mover los elementos guardados. ¿Cómo estás creando el artículo?

Utilice el método Items.Add para añadir un elemento (es decir crearla) en una carpeta específica. Si está utilizando el Método CreateItem, siempre se crea en la carpeta por defecto para ese tipo de elemento.

En lugar de tratar de usar la funcionalidad existente para tratar de crear la tarea (que no estoy seguro de que es posible o fácil) Creo que es mejor crear una macro que crea la tarea en la carpeta que desea, a continuación, añadir la macro a un botón de barra de herramientas. O se podría tratar de guardar el elemento primero, y luego moverlo. Tenga en cuenta que el código actual se mueve el elemento a la carpeta predeterminada Tareas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top