макрос изменения цвета шрифта

Автор Посетитель 01.01.2025, 01 января 2025, 18:34

Посетитель 01.01.2025

Здравствуйте, макрос в Outlook 2016 выдает ошибку Sub or Function not defined

Sub Red()
'
' Red Макрос
'
  Application.ActiveInspector.WordEditor.Application.Selection.Font.ColorIndex = wdRed
End Sub

Просьба помочь найти ошибку, спасибо

Администратор

Написал вам два письма на почту с заголовком "Письмо с Форума по VBA и MS Office". Написал именно на почту, а не на форум.

Есть два варианта, как устранить проблему.

Вариант 1

Вместо wdRed используйте число, которое соответствует wdRed:

Sub Red()
'
' Red Макрос
'
  Application.ActiveInspector.WordEditor.Application.Selection.Font.ColorIndex = 6
End Sub

Вариант 2

Подключите библиотеку: Tools - References... - Microsoft Word 16.0 (или другая версия) Object Library.
В этом случае Аутлук поймёт, что такое wdRed.


Примечание

wdRed относится к программе Word, поэтому программе Outlook ничего не известно о wdRed.
Кроме того, обратите внимание на префикс wd - это означает, что это слово относится к программе Word.

Посетитель 01.01.2025

Здравствуйте, попробовал оба варианта, продолжаю получать те же сообщения: Sub or Function not defined

Администратор

Какой-нибудь фрагмент кода VBA закрашивает во время ошибки?
Как вы запускаете процедуру Red? Кнопкой?
Во время запуска процедуры Red, курсор где у вас находится? В сообщении или ещё где?

Посетитель 01.01.2025

- выделяю текст в теле ответного письма (открываемого в новом окне)
- нажимаю Alt+F8
- дважды кликаю Red в списке макроосов
- открывается окошко VBAProject.OTM, и одновременно модуль Red и окошко с сообщением Sub or Function not defined.

фрагмент кода не закрашивается

Администратор

Вручную, без макроса вы можете закрасить текст? Просто нажимая кнопки в самом Аутлуке на Панели инструментов?

У меня работает ваш код, но нужно, чтобы у письма был формат не "Обычный текст", а или "Формат HTML", или "Формат RTF".

Какие я делал действия:
  • щёлкнул левой кнопкой мыши в списке писем по письму;
  • на Панели инструментов щёлкнул "Ответить";
  • изменил формат письма в формат "Формат HTML";
  • выделил в теле письма фрагмент текста;
  • Alt+F8 - щёлкнул два раза по Red.

Использовал этот макрос:

Sub Red()
'
' Red Макрос
'
  Application.ActiveInspector.WordEditor.Application.Selection.Font.ColorIndex = 6
End Sub

Если не работает у вас, то попробуйте установить обновления для Офиса. Иногда происходит какая-то ерунда, когда не установлены обновления, а вы только с диска установили Офис.

Посетитель 01.01.2025

Здравствуйте,

Обновлялся недавно, но макросы создавались до обновления, удалил все макросы, создал новые - все заработало!

Спасибо Вам большое!