2016-06-01 2 views
2

Я пытаюсь написать часть кода (vba), которая вставляет одну строчку в письмо, которое я сочиняю (открыть элемент электронной почты). Приведенный ниже код является первым шагом я взялOutlook VBA вставить строку текста

Что работает

  1. если я запускаю код непосредственно из модуля (окна разработки), текст вставляется.

Что не работает

  1. Если я добавить макрос (VBA) в моей ленте и попытаться запустить его, ничего не происходит. Кажется, что код работает непосредственно из модуля (кнопка воспроизведения).

То, что я хочу

  1. Выполнить макрос (VBA) из ленты в активной/открытой позиции; Решение = Имя модуля не может содержать макрос с тем же именем.
  2. Установите цвет шрифта, например. зеленый;
  3. Приятно иметь: вставить текст в нижней части страницы.

Код:

Sub InsertText() 
Dim sText As String 

sText = "Text to insert" 


On Error GoTo ErrHandler 
If TypeName(ActiveWindow) = "Inspector" Then 
    If ActiveInspector.IsWordMail And ActiveInspector.EditorType = olEditorWord Then 
     ActiveInspector.WordEditor.Application.Selection.TypeText sText 
    End If 
End If 
Exit Sub 
ErrHandler: 
Beep 
End Sub 
+1

Решение точки 1: имя модуля не может содержать одноименный макрос. – Regenbui

+1

Если вы поместите точку останова на 'Sub InsertText', а затем нажмите кнопку на ленте, запускается ли код? и если он работает? что происходит? он переходит к дескриптору ошибки? Не верит ли это активному окну и инспектору? Не кажется ли вам, что вы используете Word в качестве редактора? Здесь много переменных, чем больше информации вы можете добавить, тем быстрее мы получим ответ. –

+0

@Regenbui: Вы пробовали то, что было предложено Гэри? Правильно ли он работает? – R3uK

ответ

1

При добавлении его к ленте, Вы добавляете его к ленте почтового отправления или внешнего вида ленты? Это запутывает, поэтому я буду использовать в основном фотографии, чтобы описать это.

Это он добавляется к почте пункт ленты и она работала хорошо: - Mail Item 'InsertText'

Если добавить кнопку на панели Outlook, нажав на кнопку не работает: - Outlook 'InsertText'

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

Для подтверждения, чтобы добавить кнопку в окне почты пункт, щелкните правой кнопкой мыши на ленте почтового элемента и выберите "Настройка ленты ... Customize the Ribbon...

Нажмите на кнопку«Новая вкладка» в правом нижнем углу, измените «Выбрать команды от:» до «Макросы» и нажмите на соответствующий макрос из списка ниже. Наконец, нажмите «Добавить>>», а затем «ОК». Ribbon Customisation

Смежные вопросы