Bỏ qua nội dung chính

Làm cách nào để tạo danh sách thả xuống cho các đối tượng trong Outlook?

Bạn có thể có các chủ đề email đặt trước khác nhau cần được phân phối cho những người nhận khác nhau trong Outlook. Sẽ rất hiệu quả nếu có một danh sách thả xuống dòng chủ đề để chọn chủ đề mà không cần nhập thủ công khi soạn email. Cũng giống như gif được minh họa bên dưới. Hướng dẫn này cung cấp ba mã VBA để giúp bạn tạo danh sách thả xuống với các chủ đề đặt trước khác nhau. Khi soạn email, bạn có thể chọn bất kỳ chủ đề nào bạn cần từ menu thả xuống để tự động điền vào dòng chủ đề. Vui lòng làm theo hướng dẫn từng bước để thực hiện.


Tạo danh sách thả xuống cho các đối tượng trong Outlook bằng mã VBA

Trên thực tế, Outlook không cho phép thêm danh sách thả xuống trong dòng chủ đề. Ở đây bạn cần tạo một biểu mẫu người dùng và kết hợp nó với các mã VBA để hoàn thành nó.

1. Khởi chạy Outlook của bạn, nhấn Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Biểu mẫu người dùng.

3. Sau đó Người dùngForm1 được chèn dưới Project1 trong ngăn bên trái của Visual Basic người biên tập. Bạn cần thêm một hộp tổ hợp và một nút lệnh vào biểu mẫu người dùng này bằng cách kéo hộp tổ hợpLệnhNút tương ứng từ Hộp công cụ đến Người dùngForm1.

4. Nhấp chuột phải vào nút lệnh và chọn Bất động sản trong menu chuột phải.

5. bên trong Thuộc tính - CommandButton1 ngăn, thay đổi Chú thích trường để OK. Hành động này sẽ thay đổi văn bản hiển thị trên nút lệnh.

6. Nhấp đúp vào vùng trống trong UserForm để mở UserForm (Mã) , sau đó thay thế mã hiện có bằng mã VBA sau.

Mã VBA 1: UserForm với danh sách thả xuống bao gồm nhiều chủ đề email đặt trước

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

Chú thích: Trong mã, Chủ đề 1, 2, 3, 45 là các chủ đề email đặt trước mà bạn muốn sử dụng trong email của mình. “Không thay đổi”Có nghĩa là không thay đổi bất kỳ điều gì của chủ đề email hiện có. Bạn có thể thay đổi các chủ đề email đặt trước trong mã VBA theo nhu cầu của mình.

7. Nhấn đúp chuột Project1 > Đối tượng Microsoft Outlook > ĐâyOutlookSession. Sau đó sao chép mã VBA sau vào cửa sổ ThisOutlookSession (Code).

Mã VBA 2 được sử dụng trong cửa sổ 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. Tiếp tục nhấp vào Chèn > Mô-đun trong Visual Basic người biên tập. Sau đó, sao chép và dán mã VBA sau vào Mô-đun (Mã) cửa sổ.

Mã VBA 3 được sử dụng trong cửa sổ Mô-đun

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. Lưu mã và nhấn Khác + Q chìa khóa để đóng Trình soạn thảo Visual Basic cửa sổ và quay lại ứng dụng Outlook.

10. Nhấp vào Email mới dưới nút Trang Chủ để tạo email.

11. Trong cửa sổ tin nhắn mới, hãy nhấp vào Tùy chỉnh thanh công cụ truy cập nhanh > Các lệnh khác.

12. bên trong Tùy chọn Outlook hộp thoại, bạn cần cấu hình như sau.

12.1) Chọn Macros trong Chọn lệnh từ danh sách thả xuống;
12.2) Chọn Dự án1.ChangeSubject trong hộp danh sách lệnh;
12.3) Nhấp vào Thêm Nút;
12.4) Nhấp vào OK cái nút. Xem ảnh chụp màn hình:

13. Sau đó, bạn có thể thấy rằng một nút đã được thêm vào dải băng của cửa sổ tin nhắn.

14. Bây giờ bạn cần khởi động lại Outlook của mình.

15. Khi soạn thư email, nếu bạn cần chèn một chủ đề đặt trước, bạn chỉ cần nhấp vào nút mới được thêm trên dải băng để hiển thị biểu mẫu người dùng, chọn một chủ đề từ trình đơn thả xuống, sau đó nhấp vào OK để điền nó vào dòng chủ đề.

Chú ý:

1) Bạn có thể thay đổi chủ đề hiện có bằng bất kỳ chủ đề nào được chọn trong danh sách thả xuống;
2) Phương pháp này hoạt động tốt khi trả lời hoặc chuyển tiếp email trong cửa sổ mới;
3) Nếu bạn có xu hướng trả lời email trong dòng từ ngăn đọc hơn là mở một cửa sổ riêng biệt, bạn có thể hiển thị biểu mẫu người dùng như sau.
3.1) Nhấp Nhà phát triển > Macros > Dự án1.ChangeSubject. Xem ảnh chụp màn hình:

3.2) Khi biểu mẫu người dùng bật lên, hãy chọn một chủ đề đặt trước từ danh sách thả xuống và nhấp vào OK , chủ đề ban đầu sẽ được thay đổi ngay lập tức.

4) Nếu bạn chọn Không thay đổi trong menu thả xuống, chủ đề gốc sẽ được giữ lại mà không có bất kỳ thay đổi nào.

Công cụ năng suất văn phòng tốt nhất

Kutools cho Outlook - Hơn 100 tính năng mạnh mẽ để tăng cường Outlook của bạn

🤖 Trợ lý thư AI: Email chuyên nghiệp tức thì với phép thuật AI--một cú nhấp chuột để có câu trả lời xuất sắc, giọng điệu hoàn hảo, khả năng thông thạo đa ngôn ngữ. Chuyển đổi email một cách dễ dàng! ...

📧 Tự động hoá email: Vắng Mặt (Có sẵn cho POP và IMAP)  /  Lên lịch gửi email  /  Tự động CC/BCC theo quy định khi gửi Email  /  Tự động chuyển tiếp (Quy tắc nâng cao)   /  Tự động thêm lời chào   /  Tự động chia email nhiều người nhận thành các tin nhắn riêng lẻ hữu ích. Cảm ơn !

📨 Quản lý email: Dễ dàng thu hồi email  /  Chặn email lừa đảo theo chủ đề và những người khác  /  Xóa các email trùng lặp  /  Tìm Kiếm Nâng Cao  /  Hợp nhất các thư mục hữu ích. Cảm ơn !

📁 Tệp đính kèm chuyên nghiệpLưu hàng loạt  /  Tách hàng loạt  /  Nén hàng loạt  /  Tự động lưu   /  Tự động tách  /  Tự động nén hữu ích. Cảm ơn !

🌟 Giao diện ma thuật: 😊Thêm nhiều biểu tượng cảm xúc đẹp và thú vị hơn   /  Tăng năng suất Outlook của bạn với chế độ xem theo thẻ  /  Thu nhỏ Outlook thay vì đóng hữu ích. Cảm ơn !

👍 Kỳ quan chỉ bằng một cú nhấp chuột: Trả lời tất cả bằng tệp đính kèm đến  /   Email chống lừa đảo  /  🕘Hiển thị múi giờ của người gửi hữu ích. Cảm ơn !

👩🏼‍🤝‍👩🏻 Danh bạ & Lịch: Thêm hàng loạt liên hệ từ các email đã chọn  /  Chia nhóm liên hệ thành các nhóm riêng lẻ  /  Xóa lời nhắc sinh nhật hữu ích. Cảm ơn !

Trên 100 tính năng Chờ đợi sự khám phá của bạn! Bấm vào đây để khám phá thêm.

 

 

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