Domanda

Sto cercando di trasformare il mio Outlook2003 nella cosa più vicina a Gmail.

ho iniziato a categorie d'uso, che sono abbastanza simili a etichette in Gmail. Posso assegnare categorie automaticamente con le regole, e posso aggiungere le categorie manualmente. Ho creato anche "cartelle di ricerca", che mostrano tutte le email con una determinata categoria, se non sono in Posta eliminata o Posta inviata. Questa parte è quasi come il punto di vista di etichette in Gmail.

Due cose che mancano in sostanza, che dovrebbe essere fatto con le macro (VBA per la precisione) che io sono totalmente inesperto con. Quindi, da qui le mie domande:

-Può qualcuno spettacolo mi una macro per rimuovere la categoria "Posta in arrivo"? Che avrebbe agito esattamente come il pulsante Archivia in Gmail. In realtà io voglio assegnare la macro a un pulsante di barra degli strumenti e lo chiamo Archive. Ho una regola che aggiunge la categoria Posta in arrivo per tutta la posta in arrivo. Come ho detto, ho una ricerca cartella di visualizzazione di tutte le mail classificate come Posta in arrivo, e ho anche una cartella di ricerca Tutti i messaggi, che visualizza tutti i messaggi, indipendentemente se hanno la categoria Posta in arrivo. Esattamente come gmail, solo l'archiviazione facile manca.

-Può qualcuno spettacolo mi una macro che elimina la posta / mail selezionate e anche eliminerebbe la categoria Posta in arrivo prima di eliminazione? Vorrei sostituire il pulsante di default di cancellazione con questa macro. (Un po 'meno importanti, come nei miei cartelle di ricerca sono in grado di filtrare i messaggi che sono fisicamente collocati in cartella Posta eliminata, ma sarebbe più elegante non avere elettronica classificati come posta in arrivo nella spazzatura.

Grazie in anticipo,

szekelya

È stato utile?

Soluzione

Ho usato il codice di rimozione di Sue da http://www.outlookcode.com/codedetail aspx? id = 1211

Ma questo dovrebbe funzionare voi

Aggiunto risparmia! Doh!

Sub UnAssignInboxCat()
Dim SelectedItems As Selection
Dim Item As MailItem


Set SelectedItems = Application.ActiveExplorer.Selection

For Each Item In SelectedItems

RemoveCat Item, "Inbox"
Item.Save
Next

Set SelectedItems = Nothing
Set Item = Nothing

End Sub
Sub DeleteAndUnAssignInboxCat()
Dim SelectedItems As Selection
Dim Item As MailItem
Set SelectedItems = Application.ActiveExplorer.Selection

For i = SelectedItems.Count To 1 Step -1
    Set Item = SelectedItems.Item(i)
    RemoveCat Item, "Inbox"
    Item.Save

    Item.Delete
Next

Set SelectedItems = Nothing
Set Item = Nothing

End Sub




Sub RemoveCat(itm, catName)
    arr = Split(itm.Categories, ",")
    If UBound(arr) >= 0 Then
        ' item has categories
        For i = 0 To UBound(arr)
            If Trim(arr(i)) = catName Then
                ' category already exists on item
                ' remove it
                arr(i) = ""
                'rebuild category list from array
                itm.Categories = Join(arr, ",")
                Exit Sub
            End If
        Next
    End If
End Sub
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top