Удалить контекстное меню печати правой кнопкой мыши из Outlook 2007

StackOverflow https://stackoverflow.com/questions/121810

Вопрос

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

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

alt text

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

Это было полезно?

Решение

Судя по ссылке, предоставленной TcK, это было довольно просто.В приведенном ниже примере я проверяю тип элемента, чтобы он влиял только на электронные письма, а не на элементы календаря.Чтобы ввести код в 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

Другие советы

Вот пример программной работы с Outlook:Как:Настройка контекстного меню элемента

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top