Domanda

Sto cercando di provocare un nuovo elemento di Outlook per essere creato in un negozio specifico quando l'utente lo salva. Normalmente, se ci sono più account, quando si crea un nuovo elemento (ad esempio premere Ctrl + Shift + K per un compito), il nuovo elemento viene creato nella cartella predefinita per l'account attivo.

Ho provato intercettando l'ispettore per il nuovo elemento e in movimento, ma non ha avuto alcun effetto. Qui è l'essenza del codice (il controllo per evitare non nuovi oggetti viene omesso):

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

Purtroppo, il metodo Move non ha alcun effetto. Tutte le idee?

È stato utile?

Soluzione

Non è possibile spostare gli elementi non salvati. Come stai creando l'articolo?

Utilizzare il metodo Items.Add per aggiungere un elemento (vale a dire crearlo) in una cartella specifica. Se si utilizza il metodo CreateItem, sarà sempre creato nella cartella predefinita per quel tipo di elemento.

Invece di cercare di utilizzare la funzionalità esistenti per cercare di creare l'attività (che non sto certo è possibile o facile) Penso che si sta meglio la creazione di una macro che crea l'attività nella cartella che si desidera, quindi aggiungere la macro a un pulsante della barra degli strumenti. Oppure si potrebbe cercare di salvare l'elemento, poi spostarlo. Si noti che il codice corrente sposta l'elemento nella cartella predefinita Attività.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top