Domanda

È possibile rimuovere l'elemento Stampa dal menu di scelta rapida facendo clic con il pulsante destro del mouse su un messaggio di posta elettronica con VBA?

Faccio sempre clic con il pulsante destro del mouse per rispondere a un'e-mail, solo per fare clic accidentalmente su Stampa e fare in modo che Outlook lo invii direttamente alla stampante più velocemente di quanto riesca a fermarlo.

alt text

NB: sto utilizzando Outlook 2007.

È stato utile?

Soluzione

In base al link fornito da TcKs, era piuttosto semplice. Nell'esempio seguente controllo il tipo di elemento in modo che influisca solo sulle e-mail e non sugli elementi del calendario. Per inserire il codice in Outlook, digita Alt + F11, quindi espandi gli oggetti di Microsoft Office Outlook nel riquadro Progetto. Quindi fare doppio clic su ThisOutlookSession. Quindi incolla questo codice nella finestra del codice. Non mi piace controllare sottotitoli come questo in quanto si possono verificare problemi con l'internazionalizzazione. Ma non ho visto un ActionID o altro sul comando. C'era un FaceID ma questo è solo l'id dell'icona della stampante.

Private Sub Application_ItemContextMenuDisplay(ByVal CommandBar As Office.CommandBar, ByVal Selection As Selection)

   Dim cmdTemp As Office.CommandBarControl

   If Selection.Count > 0 Then

      Select Case TypeName(Selection.Item(1))

         Case "MailItem"

            For Each cmdTemp In CommandBar.Controls

               If cmdTemp.Caption = "&Print" Then

                  cmdTemp.Delete
                  Exit For

               End If

            Next cmdTemp

         Case Else

            'Debug.Print TypeName(Selection.Item(1))

      End Select

   End If

End Sub

Altri suggerimenti

Thera è un esempio di come lavorare programmaticamente con Outlook: Procedura: personalizzare un menu di scelta rapida degli articoli

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