跳至主要内容

如何在Outlook中为邮件主题创建下拉列表?

Author: Siluvia Last Modified: 2025-05-07

您可能有不同的预设邮件主题,需要在Outlook中分发给不同的收件人。如果能在撰写邮件时使用一个主题行的下拉列表来选择主题,而无需手动输入,将会非常高效。就像下面的gif演示的一样。本教程提供了三个VBA代码,帮助您创建一个包含不同预设主题的下拉列表。撰写邮件时,您可以从下拉列表中选择所需的任何主题,自动填充到主题行中。请按照逐步指南完成操作。


使用VBA代码在Outlook中为主题创建下拉列表

实际上,Outlook不允许在主题行添加下拉列表。在这里,您需要创建一个用户窗体并结合VBA代码来完成此操作。

1. 启动您的Outlook,按“Alt” + “F11”键打开“Microsoft Visual Basic for Applications”窗口。

2. 在“Microsoft Visual Basic for Applications”窗口中,点击“插入” > “用户窗体”。

doc-subject-line-drop-down-list-1

3. 然后在“Visual Basic”编辑器左侧窗格中的“Project1”下插入了“UserForm1”。您需要通过分别从“工具箱”拖动“组合框”和“命令按钮”到“UserForm1”上,向该用户窗体添加一个组合框和一个命令按钮。

doc-subject-line-drop-down-list-2

4. 右键单击命令按钮,并在右键菜单中选择“属性”。

doc-subject-line-drop-down-list-3

5. 在“属性 - CommandButton1”窗格中,将“标题”字段更改为“确定”。此操作将更改命令按钮上显示的文本。

doc-subject-line-drop-down-list-4

6. 双击UserForm的空白区域以打开相应的“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

doc-subject-line-drop-down-list-5

注意:在代码中,“主题1、2、3、4”和“5”是您希望在邮件中使用的预设邮件主题。“无变化”表示不更改现有邮件主题的任何内容。您可以根据需要更改VBA代码中的预设邮件主题。

7. 双击“Project1” > “Microsoft Outlook 对象” > “ThisOutlookSession”。然后将以下VBA代码复制到“ThisOutlookSession(代码)”窗口中。

用于ThisOutlookSession窗口的VBA代码2

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

doc-subject-line-drop-down-list-6

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

doc-subject-line-drop-down-list-7

9. 保存代码并按“Alt” + “Q”键关闭“Visual Basic 编辑器”窗口并返回到Outlook应用程序。

10. 单击“主页”选项卡下的“新建邮件”按钮以创建邮件。

11. 在新邮件窗口中,单击“自定义快速访问工具栏” > “更多命令”。

doc-subject-line-drop-down-list-8

12. 在“Outlook选项”对话框中,您需要进行如下配置。

12.1) 在“从以下位置选择命令”下拉列表中选择“宏”;
12.2) 在命令列表框中选择“Project1.ChangeSubject”;
12.3) 单击“添加”按钮;
12.4) 单击“确定”按钮。见截图:

doc-subject-line-drop-down-list-9

13. 然后您可以看到一个按钮 doc-subject-line-drop-down-list-10 已被添加到邮件窗口的功能区中。

doc-subject-line-drop-down-list-11

14. 现在您需要重新启动您的Outlook。

15. 撰写邮件时,如果您需要插入预设主题,只需单击功能区上的新添加按钮以显示用户窗体,从下拉菜单中选择一个主题,然后单击“确定”按钮将其填充到主题行中。

注意事项:

1) 您可以使用下拉列表中选择的任何主题更改现有主题;
2) 此方法在新窗口中回复或转发邮件时效果很好;
3) 如果您倾向于从阅读窗格内联回复邮件而不是打开单独的窗口,则可以按以下方式调出用户窗体。
3.1) 单击“开发工具” > “宏” > “Project1.ChangeSubject”。见截图:

doc-subject-line-drop-down-list-13

3.2) 当用户窗体弹出时,从下拉列表中选择一个预设主题并单击“确定”按钮,原始主题将立即更改。
4) 如果您在下拉菜单中选择“无变化”,原始主题将保留而不做任何更改。

Outlook中的AI邮件助手:更智能的回复,更清晰的沟通(一键搞定!) 免费

使用Kutools for Outlook的AI邮件助手简化您的日常Outlook任务。这一强大工具会从您过去的邮件中学习,提供智能化且精准的回复建议,优化您的邮件内容,并帮助您轻松起草和润色邮件。
doc ai email handle

该功能支持:

  • 智能回复:根据您以往的对话生成量身定制、精准且即用的回复。
  • 增强内容:自动优化您的邮件文本,使其更加清晰且有影响力。
  • 轻松撰写:只需提供关键字,AI即可完成其余工作,并支持多种写作风格。
  • 智能扩展:通过上下文感知的建议扩展您的思路。
  • 总结概括:快速获取长邮件的简洁概述。
  • 全球覆盖:轻松将您的邮件翻译成任何语言。

该功能支持:

  • 智能邮件回复
  • 优化后的内容
  • 基于关键字的草稿
  • 智能内容扩展
  • 邮件总结
  • 多语言翻译

最重要的是,此功能永久完全免费不要再犹豫了——立即下载AI邮件助手并体验吧