Rimuovi menu contestuale Stampa clic destro da Outlook 2007
-
02-07-2019 - |
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.
NB: sto utilizzando Outlook 2007.
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