2015-01-06 5 views
1

Все, что я нашел в Google для этого вопроса, относится к Excel или Word, и то, что они говорят, не работает для Outlook.Как добавить к ленте Outook 2013 и/или получить имя кнопки ленты с помощью VBA?

мне нужно, чтобы быть в состоянии сделать две вещи:

  1. Добавить кнопки в пользовательскую группу на вкладке «Главная» ленты Outlook 2013 с помощью VBA из Outlook, в 2013 г.
  2. В макро который запускается при нажатии каждой кнопки. Я хочу, чтобы можно было указать имя кнопки, на которую была нажата кнопка.

За # 1: я не могу найти полезную информацию в Интернете.

Для # 2: Идея состоит в том, что я хочу иметь переменное количество кнопок, таких как «Сделать 1», «Сделать 2», «Делать 3», ..., «Делать X», и каждый из них будет запускать тот же макро/суб и внутри макроса/суб, я могу видеть, что имя кнопки, поэтому я знаю, что делать. В противном случае мне пришлось бы создавать суб/макрос для каждой кнопки, и я стараюсь избегать этого.

+0

http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_11770-HOW-TO-Manipulating-Office-Ribbon-Bar-only-with-VBA.html –

+0

Интересный способ добавить к лента. Это помогает мне с №1. Благодаря! Любая идея на # 2? – IMTheNachoMan

+0

Пожалуйста, см. Мой ответ;) –

ответ

2

Единственный возможный способ заключается в разработке надстройки. Outlook не позволяет настраивать пользовательский интерфейс с помощью VBA.

Вы можете найти полезную страницу Walkthrough: Creating a Custom Tab by Using the Ribbon Designer.

2

Я думаю, что нашел!

Для # 1 см. Это: HOW TO: Manipulating Office Ribbon Bar only with VBA.

Для # 2 вам необходимо добавить onAction подпрограмма в формате XML.

<mso:button id="MyButtonIdentifier1" label="MyMacroLabel" imageMso="HyperlinksVerify" onAction="NameOfMyMacro" visible="true"/> 

Определение NameOfMyMacro должно выглядеть:

Sub NameOfMyMacro(control As IRibbonControl) 
    'here your logic 
    Select Case control.Id 
     Case "MyButtonIdentifier1" 
      'call another subroutine ;) 
     Case "MyButtonIdentifier2" 
    End Select 
End Sub 
+0

Я думаю, что это работает для Excel и Word, но не для Outlook. Он добавляет кнопку, но нажатие на нее не запускает этот суб. – IMTheNachoMan

+0

@IMTheNachoMan, я никогда не тестировал его. Я верю, что ты прав. –

+0

@IMTheNachoMan вы нашли решение для получения обратного вызова при нажатии кнопки? – ZerOne