Saltar al contenido principal

¿Cómo crear una lista desplegable para temas en Outlook?

Es posible que tenga diferentes asuntos de correo electrónico preestablecidos que deben distribuirse a diferentes destinatarios en Outlook. Sería muy eficiente tener una lista desplegable de línea de asunto para seleccionar un asunto sin escribirlo manualmente al redactar un correo electrónico. Al igual que el gif demostrado a continuación. Este tutorial proporciona tres códigos VBA para ayudarlo a crear una lista desplegable con diferentes temas preestablecidos. Al redactar un correo electrónico, puede seleccionar cualquier tema que necesite del menú desplegable para completar automáticamente la línea de asunto. Siga la guía paso a paso para hacerlo.


Cree una lista desplegable para temas en Outlook con código VBA

En realidad, Outlook no permite agregar una lista desplegable en la línea de asunto. Aquí debe crear un formulario de usuario y combinarlo con códigos VBA para completarlo.

1. Inicie su Outlook, presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Formulario de usuario.

3. Entonces el Formulario de usuario1 se inserta debajo Proyecto1 en el panel izquierdo de la Visual Basic editor. Debe agregar un cuadro combinado y un botón de comando a esta forma de usuario arrastrando el Caja combo y CommandButton respectivamente de la Herramientas En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. Formulario de usuario1.

4. Haga clic derecho en el botón de comando y seleccione Propiedades en el menú contextual.

5. En el Propiedades – CommandButton1 panel, cambie el Subtítulo campo para OK. Esta acción cambiará el texto que se muestra en el botón de comando.

6. Haga doble clic en el área en blanco del formulario de usuario para abrir el correspondiente Formulario de usuario (Código) ventana, luego reemplace el código existente con el siguiente código VBA.

Código VBA 1: formulario de usuario con una lista desplegable que incluye varios asuntos de correo electrónico preestablecidos

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

Note: En el código, el Sujeto 1, 2, 3, 4 y 5 son los asuntos de correo electrónico preestablecidos que desea utilizar en sus correos electrónicos. “Sin cambios” significa no cambiar nada del asunto del correo electrónico existente. Puede cambiar los asuntos de correo electrónico preestablecidos en el código VBA según sus necesidades.

7. Haga doble clic Proyecto1 > Objetos de Microsoft Outlook > Esta sesión de Outlook. Luego copie el siguiente código VBA en la ventana ThisOutlookSession (Código).

Código VBA 2 utilizado en la ventana 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. Continúe haciendo clic recuadro > Módulo existentes Visual Basic editor. Luego copie y pegue el siguiente código VBA en el Módulo (Código) ventana.

Código VBA 3 utilizado en la ventana Módulo

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. Guarde los códigos y presione el botón otro + Q llaves para cerrar el Editor de Visual Basic ventana y volver a la aplicación de Outlook.

10. Haga clic en el Nuevo Email botón debajo del Inicio pestaña para crear un correo electrónico.

11. En la ventana de mensaje nuevo, haga clic en Personalizar la barra de herramientas de acceso rápido > Más comandos.

12. En el Opciones de outlook cuadro de diálogo, debe configurarlo de la siguiente manera.

12.1) Seleccionar Macros existentes Elija comandos de la lista desplegable;
12.2) Seleccionar Proyecto1.ChangeSubject en el cuadro de lista de comandos;
12.3) Haga clic en Añada botón;
12.4) Haga clic en OK botón. Ver captura de pantalla:

13. Entonces puedes ver que un botón se ha agregado a la cinta de la ventana del mensaje.

14. Ahora necesita reiniciar su Outlook.

15. Al redactar un mensaje de correo electrónico, si necesita insertar un asunto preestablecido, solo tiene que hacer clic en el botón recién agregado en la cinta para mostrar el formulario de usuario, seleccionar un asunto del menú desplegable y luego hacer clic en el OK para rellenarlo en la línea de asunto.

Notas:

1) Puede cambiar el tema existente con cualquier tema seleccionado en la lista desplegable;
2) Este método funciona bien al responder o reenviar un correo electrónico en una nueva ventana;
3) Si tiende a responder correos electrónicos en línea desde el panel de lectura en lugar de abrir una ventana separada, puede abrir el formulario de usuario de la siguiente manera.
3.1) Click Developer > Macros > Proyecto1.ChangeSubject. Ver captura de pantalla:

3.2) Cuando aparezca el formulario de usuario, seleccione un tema predeterminado de la lista desplegable y haga clic en el OK botón, el tema original cambiará inmediatamente.

4) Si selecciona Sin cambios en el menú desplegable, el tema original se mantendrá sin cambios.

Las mejores herramientas de productividad de oficina

Kutools para Outlook - Más de 100 potentes funciones para potenciar tu perspectiva

📧 Automatización de correo electrónico: Fuera de la oficina (disponible para POP e IMAP)  /  Programar envío de correos electrónicos  /  CC/CCO automático según reglas al enviar correo electrónico  /  Reenvío automático (reglas avanzadas)   /  Agregar saludo automáticamente   /  Divida automáticamente correos electrónicos de múltiples destinatarios en mensajes individuales ...

📨 Gestión de correo electrónico: Recuperar correos electrónicos fácilmente  /  Bloquear correos electrónicos fraudulentos por sujetos y otras personas  /  Eliminar correos electrónicos duplicados  /  Búsqueda Avanzada  /  Consolidar carpetas ...

📁 Archivos adjuntos profesionalesGuardar lote  /  Separación de lotes  /  Comprimir por lotes  /  Ahorro automático   /  Desconexión automática  /  Autocompresión ...

???? Interfaz mágica: 😊Más emojis bonitos y geniales   /  Aumente su productividad en Outlook con vistas con pestañas  /  Minimizar Outlook en lugar de cerrar ...

👍 Maravillas con un clic: Responder a todos los archivos adjuntos entrantes  /   Correos electrónicos antiphishing  /  🕘Mostrar zona horaria del remitente ...

👩🏼‍🤝‍👩🏻 Contactos y calendario: Agregar por lotes contactos de correos electrónicos seleccionados  /  Dividir un grupo de contactos en grupos individuales  /  Eliminar recordatorios de cumpleaños ...

Mas de Características 100 ¡Espere su exploración! Haga clic aquí para descubrir más.

 

 

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