Перейти до основного матеріалу

Як створити розкривний список для тем в Outlook?

У вас можуть бути різні попередньо встановлені теми електронних листів, які потрібно надіслати різним одержувачам у Outlook. Було б дуже ефективно мати розкривний список теми для вибору теми, не вводячи її вручну під час створення електронного листа. Так само, як на зображенні нижче. Цей посібник містить три коди VBA, які допоможуть вам створити розкривний список із різними попередньо встановленими темами. Під час створення електронного листа ви можете вибрати будь-яку потрібну тему зі спадного меню, щоб автоматично заповнити рядок теми. Дотримуйтеся покрокових інструкцій, щоб це зробити.


Створіть розкривний список для тем у Outlook за допомогою коду VBA

Насправді Outlook не дозволяє додавати розкривний список у рядок теми. Тут вам потрібно створити форму користувача та поєднати її з кодами VBA, щоб заповнити її.

1. Запустіть Outlook, натисніть інший + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2 В Microsoft Visual Basic для додатків вікна, натисніть Insert > Форма користувача.

3. Тоді Форма користувача1 вставляється під Project1 на лівій панелі Візуальний Бейсік редактор. Вам потрібно додати поле зі списком і командну кнопку до цієї форми користувача, перетягнувши ComboBox та CommandButton відповідно від Інструменти до Форма користувача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 > ThisOutlookSession. Потім скопіюйте наведений нижче код VBA у вікно ThisOutlookSession (Код).

Код 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. Перейдіть на клацання Insert > Модулі в Візуальний Бейсік редактор. Потім скопіюйте та вставте наведений нижче код 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. Натисніть Нова електронна пошта кнопка під кнопкою Головна вкладка для створення електронного листа.

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 для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для 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