Удалить контекстное меню «Печать правой кнопкой мыши» из Outlook 2007 - PullRequest
6 голосов
/ 23 сентября 2008

Можно ли каким-либо образом удалить элемент «Печать» из контекстного меню, если щелкнуть правой кнопкой мыши электронное письмо с помощью VBA?

Я всегда щелкаю правой кнопкой мыши, чтобы ответить на электронное письмо, только для того, чтобы случайно нажать Print, и Outlook отправляет его прямо на принтер быстрее, чем я могу его остановить.

alt text

Примечание: Я использую Outlook 2007.

Ответы [ 2 ]

9 голосов
/ 24 февраля 2009

Основываясь на ссылке, которую предоставляют TcKs, это было довольно просто. В приведенном ниже примере я проверяю тип элемента, чтобы он влиял только на электронные письма, а не на элементы календаря. Чтобы ввести код в Outlook, введите Alt + F11, а затем разверните объекты Microsoft Office Outlook на панели «Проект». Затем дважды щелкните ThisOutlookSession. Затем вставьте этот код в окно кода. Я не люблю проверять подобные подписи, так как вы можете столкнуться с проблемами интернационализации. Но я не видел ActionID или что-то еще в Команде. Был FaceID, но это просто идентификатор значка принтера.

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
8 голосов
/ 23 сентября 2008

Thera пример того, как программно работать с Outlook: Как: настроить контекстное меню элемента

...