Я пытаюсь написать часть кода (vba), которая вставляет одну строчку в письмо, которое я сочиняю (открыть элемент электронной почты). Приведенный ниже код является первым шагом я взялOutlook VBA вставить строку текста
Что работает
- если я запускаю код непосредственно из модуля (окна разработки), текст вставляется.
Что не работает
- Если я добавить макрос (VBA) в моей ленте и попытаться запустить его, ничего не происходит. Кажется, что код работает непосредственно из модуля (кнопка воспроизведения).
То, что я хочу
-
Выполнить макрос (VBA) из ленты в активной/открытой позиции;Решение = Имя модуля не может содержать макрос с тем же именем. - Установите цвет шрифта, например. зеленый;
- Приятно иметь: вставить текст в нижней части страницы.
Код:
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: имя модуля не может содержать одноименный макрос. – Regenbui
Если вы поместите точку останова на 'Sub InsertText', а затем нажмите кнопку на ленте, запускается ли код? и если он работает? что происходит? он переходит к дескриптору ошибки? Не верит ли это активному окну и инспектору? Не кажется ли вам, что вы используете Word в качестве редактора? Здесь много переменных, чем больше информации вы можете добавить, тем быстрее мы получим ответ. –
@Regenbui: Вы пробовали то, что было предложено Гэри? Правильно ли он работает? – R3uK