Прескочи на основното съдържание

Как да създадете падащ списък за теми в Outlook?

Автор: Силувия Последна промяна: 2022-09-30

Може да имате различни предварително зададени теми на имейли, които трябва да бъдат разпределени до различни получатели в Outlook. Би било много ефективно да имате падащ списък с тема за избор на тема, без да я въвеждате ръчно, когато пишете имейл. Точно като gif-а, показан по-долу. Този урок предоставя три VBA кода, които да ви помогнат да създадете падащ списък с различни предварително зададени теми. Когато пишете имейл, можете да изберете произволна тема от падащото меню, за да попълните автоматично реда за тема. Моля, следвайте ръководството стъпка по стъпка, за да го направите.


Създайте падащ списък за теми в Outlook с VBA код

Всъщност Outlook не позволява добавянето на падащ списък в реда за тема. Тук трябва да създадете потребителски формуляр и да го комбинирате с VBA кодове, за да го завършите.

1. Стартирайте вашия Outlook, натиснете Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Потребителски формуляр.

3. След това Потребителска форма1 се вмъква под Project1 в левия прозорец на Visual Basic редактор. Трябва да добавите разгъващ се списък и команден бутон към този потребителски формуляр, като плъзнете комбинирана кутия намлява CommandButton съответно от Toolbox към Потребителска форма1.

4. Щракнете с десния бутон върху командния бутон и изберете Имоти в менюто с десен бутон.

5. В Свойства – CommandButton1 панел, променете Надпис поле към OK. Това действие ще промени текста, показан на командния бутон.

6. Щракнете двукратно върху празната област в UserForm, за да отворите съответния Потребителски формуляр (код) прозорец, след което заменете съществуващия код със следния 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. Продължете да щракате Поставете > Модули в Visual Basic редактор. След това копирайте и поставете следния 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 Options диалогов прозорец, трябва да конфигурирате както следва.

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: Незабавни професионални имейли с AI магия - с едно щракване до гениални отговори, перфектен тон, многоезично владеене. Трансформирайте имейла без усилие! ...

📧 Автоматизиране на имейли: Извън офиса (налично за POP и IMAP)  /  График за изпращане на имейли  /  Автоматично CC/BCC по правила при изпращане на имейл  /  Автоматично пренасочване (разширени правила)   /  Автоматично добавяне на поздрав   /  Автоматично разделяне на имейлите с множество получатели на отделни съобщения ...

📨 Управление на Email: Лесно извикване на имейли  /  Блокиране на измамни имейли по теми и други  /  Изтриване на дублирани имейли  /  подробно търсене  /  Консолидиране на папки ...

📁 Прикачени файлове 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