Перейти к основному содержанию

Как создать выпадающий список тем в Outlook?

У вас могут быть разные предустановленные темы электронной почты, которые необходимо разослать разным получателям в Outlook. Было бы очень эффективно иметь раскрывающийся список строки темы для выбора темы без ввода ее вручную при составлении электронного письма. Так же, как GIF, продемонстрированный ниже. В этом руководстве представлены три кода VBA, которые помогут вам создать раскрывающийся список с различными предустановленными темами. При составлении электронного письма вы можете выбрать любую тему из раскрывающегося списка, чтобы автоматически заполнить строку темы. Пожалуйста, следуйте пошаговому руководству, чтобы сделать это.


Создайте раскрывающийся список для тем в Outlook с кодом VBA

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

1. Запустите Outlook, нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > UserForm.

3. Затем Пользовательская форма1 вставляется под Project1 на левой панели Визуальный Бейсик редактор. Вам нужно добавить поле со списком и командную кнопку в эту пользовательскую форму, перетащив Поле со списком и Командная кнопка соответственно из Ящик для инструментов до Пользовательская форма1.

4. Щелкните правой кнопкой мыши командную кнопку и выберите Объекты в контекстном меню.

5. в Свойства — CommandButton1 панель, измените Подпись поле к OK. Это действие изменит текст, отображаемый на командной кнопке.

6. Дважды щелкните пустую область в пользовательской форме, чтобы открыть соответствующий Пользовательская форма (код) окно, затем замените существующий код следующим кодом VBA.

Код VBA 1: пользовательская форма с раскрывающимся списком, включающим несколько предустановленных тем электронной почты.

Private Sub UserForm_Initialize()
'Updated by Extendoffice 20220927
  With ComboBox1
    .AddItem "Subject 1"
    .AddItem "Subject 2"
    .AddItem "Subject 3"
    .AddItem "Subject 4"
    .AddItem "Subject 5"
    .AddItem "No change"
  End With
End Sub

Private Sub CommandButton1_Click()
  GCbbIndex = ComboBox1.ListIndex
  GSelSubject = ComboBox1.Value
  Unload Me
End Sub

Внимание: В коде Тема 1, 2, 3, 4 и 5 — это предустановленные темы электронной почты, которые вы хотите использовать в своих электронных письмах. “Без изменений” означает ничего не менять в существующей теме электронного письма. Вы можете изменить предустановленные темы электронной почты в коде VBA в соответствии с вашими потребностями.

7. Двойной клик Project1 > Объекты Microsoft Outlook > Эта сессия Outlook. Затем скопируйте следующий код VBA в окно ThisOutlookSession (Code).

Код VBA 2, используемый в окне ThisOutlookSession

Public WithEvents GExplorer As Explorer
'Updated by Extendoffice 20220927
Private Sub Application_Startup()
  Set GExplorer = Application.ActiveExplorer
End Sub

Private Sub GExplorer_InlineResponse(ByVal Item As Object)
  Set GInlineMail = Item
End Sub

8. Продолжайте нажимать Вставить > Модули в Визуальный Бейсик редактор. Затем скопируйте и вставьте следующий код VBA в Модуль (код) окно.

Код VBA 3, используемый в окне модуля

Public GCbbIndex As Long
'Updated by Extendoffice 20220927
Public GSelSubject As String
Public GInlineMail As MailItem
Public Sub ChangeSubject()
  Dim xItem As MailItem
  Dim xMail As Outlook.MailItem
  On Error Resume Next
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
      Set xMail = GInlineMail
      Debug.Print "Explorer"
    Case "Inspector"
      Set xMail = Application.ActiveInspector.CurrentItem
      Debug.Print "Inspector"
  End Select
  UserForm1.Show
  If (GCbbIndex <> -1) And (GSelSubject <> "no change") Then
    xMail.Subject = GSelSubject
  End If
End Sub

9. Сохраните коды и нажмите кнопку другой + Q ключи, чтобы закрыть Редактор Visual Basic окно и вернуться в приложение Outlook.

10. Нажмите Новый E-mail под Главная вкладку, чтобы создать электронное письмо.

11. В окне нового сообщения нажмите Настройка панели быстрого доступа > Дополнительные команды.

12. в Параметры Outlook диалоговое окно необходимо настроить следующим образом.

12.1) Выбрать Макрос в Выберите команды из раскрывающийся список;
12.2) Выбрать Project1.ChangeSubject в поле списка команд;
12.3) Нажмите Добавить кнопка;
12.4) Нажмите OK кнопка. Смотрите скриншот:

13. Затем вы можете увидеть, что кнопка был добавлен на ленту окна сообщения.

14. Теперь вам нужно перезапустить Outlook.

15. При создании сообщения электронной почты, если вам нужно вставить предустановленную тему, вам просто нужно нажать на недавно добавленную кнопку на ленте, чтобы отобразить пользовательскую форму, выбрать тему из раскрывающегося меню, а затем нажать кнопку OK кнопку, чтобы заполнить его в строке темы.

Заметки:

1) Вы можете изменить существующую тему, выбрав любую тему из выпадающего списка;
2) Этот метод хорошо работает при ответе или пересылке электронной почты в новом окне;
3) Если вы предпочитаете отвечать на электронные письма в режиме реального времени из панели чтения, а не открывать отдельное окно, вы можете вызвать форму пользователя следующим образом.
3.1) Нажмите Застройщик > Макрос > Project1.ChangeSubject. Смотрите скриншот:

3.2) Когда откроется форма пользователя, выберите предустановленную тему из выпадающего списка и нажмите кнопку OK кнопку, исходная тема будет немедленно изменена.

4) Если выбрать Без изменений в раскрывающемся меню исходная тема будет сохранена без каких-либо изменений.

Лучшие инструменты для офисной работы

Kutools for Outlook - Более 100 мощных функций для улучшения вашего Outlook

🤖 Почтовый помощник с искусственным интеллектом: Мгновенные профессиональные электронные письма с помощью магии искусственного интеллекта: гениальные ответы одним щелчком мыши, идеальный тон, многоязычное владение. Преобразуйте электронную почту без особых усилий! ...

???? Автоматизация электронной почты: Нет на месте (доступно для POP и IMAP)  /  Расписание отправки писем  /  Автоматическое копирование/скрытая копия по правилам при отправке электронной почты  /  Автопересылка (расширенные правила)   /  Автоматическое добавление приветствия   /  Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...

📨 Управление электронной почтой: Легко вспоминать электронные письма  /  Блокировка мошеннических писем от субъектов и других лиц  /  Удалить повторяющиеся электронные письма  /  Поиск  /  Объединение папок ...

📁 Вложения ProПакетное сохранение  /  Пакетное отсоединение  /  Пакетное сжатие  /  Автосохранение   /  Авто отсоединение  /  Автоматическое сжатие ...

???? Магия интерфейса: 😊Больше красивых и крутых смайлов   /  Повысьте производительность Outlook с помощью представлений с вкладками  /  Свернуть Outlook вместо закрытия ...

???? Чудеса в один клик: Ответить всем с входящими вложениями  /   Антифишинговые письма  /  🕘Показать часовой пояс отправителя ...

👩🏼‍🤝‍👩🏻 Контакты и календарь: Пакетное добавление контактов из выбранных писем  /  Разделить группу контактов на отдельные группы  /  Удалить напоминания о днях рождения ...

Более Особенности 100 Ждем вашего исследования! Нажмите здесь, чтобы узнать больше.

 

 

Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Would it be possible to create an external source for:
.AddItem "Subject 1"
.AddItem "Subject 2"
.AddItem "Subject 3"
.AddItem "Subject 4"
.AddItem "Subject 5"

So the list can be shared and edited for multiple computers?
This comment was minimized by the moderator on the site
Hi,

I have made the procedure but when i clic on the macro button, they don't have any action ?
Could you help me ?
This comment was minimized by the moderator on the site
Hi,

Sorry for the inconvenience. Did you follow the instructions provided in the post exactly? Can you tell me which version of Excel you are using?
This comment was minimized by the moderator on the site
I would like to creat an E-mail draft with such a drop down list for the subject.
Is it possible to attache this function to an mail template or does it have to be installed in the software of each user?
This comment was minimized by the moderator on the site
Hi Hana,

The code can't be attached to an email template, users who need to use this dropdown list will need to follow the steps in the tutorial to add the code to their Outlook.
This comment was minimized by the moderator on the site
Hi,

This is great. Is it possible to do the same for Outlook Calendar invites...meetings and appointments?
This comment was minimized by the moderator on the site
Hi James Marr,

This method does not support Outlook Calendar at the moment. Sorry for the inconvenience.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations