Pregunta

¿Hay alguna manera de eliminar el elemento Imprimir del menú contextual cuando hago clic derecho en un correo electrónico con VBA?

Siempre hago clic derecho para responder a un correo electrónico, solo para hacer clic accidentalmente Print y hacer que Outlook lo envíe directamente a la impresora más rápido de lo que puedo detenerlo.

alt text

NÓTESE BIEN: Estoy usando Outlook 2007.

¿Fue útil?

Solución

Según el enlace que proporcionan los TcK, eso fue bastante simple.En el siguiente ejemplo, verifico el tipo de elemento para que solo afecte a los correos electrónicos y no a los elementos del calendario.Para ingresar el código en Outlook, escriba Alt + F11, luego expanda los Objetos de Microsoft Office Outlook en el panel Proyecto.Luego haga doble clic en ThisOutlookSession.Luego pegue este código en la ventana de código.No me gusta revisar títulos como este, ya que puedes tener problemas con la internacionalización.Pero no vi un ActionID ni nada en el comando.Había un FaceID pero es solo la identificación del ícono de la impresora.

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

Otros consejos

Aquí hay un ejemplo de cómo trabajar programáticamente con Outlook:Cómo:Personalizar un menú contextual de elemento

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