Ir para o conteúdo principal

Como criar uma lista suspensa para assuntos no Outlook?

Você pode ter diferentes assuntos de email predefinidos que precisam ser distribuídos para diferentes destinatários no Outlook. Seria muito eficiente ter uma lista suspensa de linha de assunto para selecionar um assunto sem digitá-lo manualmente ao redigir um email. Assim como o gif demonstrado abaixo. Este tutorial fornece três códigos VBA para ajudá-lo a criar uma lista suspensa com diferentes assuntos predefinidos. Ao redigir um e-mail, você pode selecionar qualquer assunto necessário na lista suspensa para preencher automaticamente a linha de assunto. Por favor, siga o guia passo a passo para fazê-lo.


Criar uma lista suspensa para assuntos no Outlook com código VBA

Na verdade, o Outlook não permite adicionar uma lista suspensa na linha de assunto. Aqui você precisa criar um formulário de usuário e combiná-lo com códigos VBA para completá-lo.

1. Inicie o Outlook, pressione o outro + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, clique em inserção > UserForm.

3. Então o UserForm1 é inserido sob Project1 no painel esquerdo do Visual Basic editor. Você precisa adicionar uma caixa de combinação e um botão de comando a este formulário de usuário arrastando o Caixa combo e Botão de comando respectivamente da Caixa de ferramentas ao UserForm1.

4. Clique com o botão direito do mouse no botão de comando e selecione Propriedades no menu do botão direito.

5. No Propriedades – CommandButton1 painel, mude o Subtítulo campo para OK. Esta ação irá alterar o texto exibido no botão de comando.

6. Dê um duplo clique na área em branco no UserForm para abrir o correspondente UserForm (Código) janela e substitua o código existente pelo código VBA a seguir.

Código VBA 1: UserForm com uma lista suspensa incluindo vários assuntos de e-mail predefinidos

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: No código, o Sujeito 1, 2, 3, 4 e 5 são os assuntos de e-mail predefinidos que você deseja usar em seus e-mails. “Nenhuma mudança” significa não alterar nada do assunto do e-mail existente. Você pode alterar os assuntos de e-mail predefinidos no código VBA de acordo com suas necessidades.

7. Duplo click Project1 > Objetos do Microsoft Outlook > Esta sessão do Outlook. Em seguida, copie o seguinte código VBA na janela ThisOutlookSession (Code).

Código VBA 2 usado na janela 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. Continue clicando inserção > Módulo no Visual Basic editor. Em seguida, copie e cole o seguinte código VBA no Módulo (Código) janela.

Código VBA 3 usado na janela 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. Salve os códigos e pressione o botão outro + Q chaves para fechar o Editor Visual Basic janela e retorne ao aplicativo Outlook.

10. Clique na Novo Email botão sob o INÍCIO guia para criar um e-mail.

11. Na nova janela de mensagem, clique em Personalize a barra de ferramentas de acesso rápido > Mais comandos.

12. No Opções do Outlook caixa de diálogo, você precisa configurar da seguinte maneira.

12.1) Selecione Macros no Escolha comandos de lista suspensa;
12.2) Selecione Projeto1.AlterarAssunto na caixa de lista de comandos;
12.3) Clique no Adicionar botão;
12.4) Clique no OK botão. Veja a imagem:

13. Então você pode ver que um botão foi adicionado à faixa de opções da janela de mensagem.

14. Agora você precisa reiniciar o Outlook.

15. Ao redigir uma mensagem de e-mail, se você precisar inserir um assunto predefinido, basta clicar no botão recém-adicionado na faixa de opções para exibir o formulário do usuário, selecionar um assunto no menu suspenso e clicar no botão OK botão para preenchê-lo na linha de assunto.

Notas:

1) Você pode alterar o assunto existente com qualquer assunto selecionado na lista suspensa;
2) Este método funciona bem ao responder ou encaminhar um e-mail em uma nova janela;
3) Se você costuma responder a e-mails em linha a partir do painel de leitura em vez de abrir uma janela separada, pode abrir o formulário de usuário da seguinte maneira.
3.1) Clique Developer > Macros > Projeto1.AlterarAssunto. Veja a imagem:

3.2) Quando o formulário do usuário aparecer, selecione um assunto predefinido na lista suspensa e clique no botão OK botão, o assunto original será alterado imediatamente.

4) Se você selecionar Nenhuma mudança no menu suspenso, o assunto original será mantido sem alterações.

Melhores ferramentas de produtividade de escritório

Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook

🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...

📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP)  /  Agendar envio de e-mails  /  CC/BCC automático por regras ao enviar e-mail  /  Encaminhamento automático (regras avançadas)   /  Adicionar saudação automaticamente   /  Divida automaticamente e-mails de vários destinatários em mensagens individuais ...

📨 Gestão de E-mail: Lembre-se facilmente de e-mails  /  Bloquear e-mails fraudulentos por assuntos e outros  /  Apagar Emails Duplicados  /  Pesquisa Avançada  /  Consolidar pastas ...

📁 Anexos PróSalvar em lote  /  Desanexar lote  /  Comprimir em Lote  /  Salvamento automático   /  Desanexação Automática  /  Compressão automática ...

???? Interface Mágica: 😊Mais emojis bonitos e legais   /  Aumente a produtividade do seu Outlook com visualizações com guias  /  Minimize o Outlook em vez de fechar ...

???? Maravilhas com um clique: Responder a todos com anexos recebidos  /   E-mails antiphishing  /  🕘Mostrar fuso horário do remetente ...

👩🏼‍🤝‍👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados  /  Dividir um grupo de contatos em grupos individuais  /  Remover lembretes de aniversário ...

Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.

 

 

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