Vai al contenuto principale

Come creare un elenco a discesa per gli argomenti in Outlook?

Potresti avere diversi oggetti di posta elettronica preimpostati che devono essere distribuiti a diversi destinatari in Outlook. Sarebbe molto efficiente avere un elenco a discesa della riga dell'oggetto per selezionare un oggetto senza digitarlo manualmente durante la composizione di un'e-mail. Proprio come la gif mostrata di seguito. Questo tutorial fornisce tre codici VBA per aiutarti a creare un elenco a discesa con diversi argomenti preimpostati. Quando si compone un'e-mail, è possibile selezionare qualsiasi oggetto necessario dal menu a discesa per compilare automaticamente la riga dell'oggetto. Si prega di seguire la guida passo passo per farlo.


Crea un elenco a discesa per gli argomenti in Outlook con codice VBA

In realtà, Outlook non consente di aggiungere un elenco a discesa nella riga dell'oggetto. Qui è necessario creare un modulo utente e combinarlo con i codici VBA per completarlo.

1. Avvia Outlook, premi il pulsante altro + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo utente.

3. Quindi il file Modulo utente1 è inserito sotto Project1 nel riquadro sinistro del Visual Basic editore. È necessario aggiungere una casella combinata e un pulsante di comando a questo modulo utente trascinando il file Casella combinata ed Pulsante di comando rispettivamente dal Strumenti Vai all’email Modulo utente1.

4. Fare clic con il pulsante destro del mouse sul pulsante di comando e selezionare Properties nel menu di scelta rapida.

5. Nel Proprietà – CommandButton1 riquadro, cambia il file Didascalia campo OK. Questa azione cambierà il testo visualizzato sul pulsante di comando.

6. Fare doppio clic sull'area vuota del Form utente per aprire il corrispondente Modulo utente (codice) finestra, quindi sostituire il codice esistente con il seguente codice VBA.

Codice VBA 1: UserForm con un elenco a discesa che include più oggetti di posta elettronica preimpostati

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:: Nel codice, il Soggetto 1, 2, 3, 4 ed 5 sono gli oggetti e-mail preimpostati che desideri utilizzare nelle tue e-mail. “Nessun cambiamento” significa non modificare nulla dell'oggetto dell'e-mail esistente. Puoi modificare gli oggetti e-mail preimpostati nel codice VBA in base alle tue esigenze.

7. Doppio click Project1 > Oggetti di Microsoft Outlook > Questa sessione di Outlook. Quindi copia il seguente codice VBA nella finestra ThisOutlookSession (Codice).

Codice VBA 2 utilizzato nella finestra 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. Continuare a fare clic inserire > Moduli nel Visual Basic editore. Quindi copia e incolla il seguente codice VBA in Modulo (codice) finestra.

Codice VBA 3 utilizzato nella finestra del modulo

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. Salvare i codici e premere il tasto altro + Q i tasti per chiudere il file Editor di Visual Basic finestra e tornare all'applicazione Outlook.

10. Fare clic sul nuova e-mail pulsante sotto il Casa scheda per creare un'e-mail.

11. Nella finestra del nuovo messaggio, fare clic su Personalizza la barra degli strumenti di accesso rapido > Altri comandi.

12. Nel Opzioni di Outlook finestra di dialogo, è necessario configurare come segue.

12.1) Seleziona Macro nel Scegli comandi da menu `A tendina;
12.2) Seleziona Progetto1.ChangeSubject nella casella di riepilogo dei comandi;
12.3) Fare clic su Aggiungi pulsante;
12.4) Fare clic su OK pulsante. Vedi screenshot:

13. Quindi puoi vedere che un pulsante è stato aggiunto alla barra multifunzione della finestra del messaggio.

14. Ora devi riavviare Outlook.

15. Quando si compone un messaggio di posta elettronica, se è necessario inserire un oggetto preimpostato, è sufficiente fare clic sul pulsante appena aggiunto sulla barra multifunzione per visualizzare il modulo utente, selezionare un oggetto dal menu a discesa, quindi fare clic su OK per inserirlo nella riga dell'oggetto.

Note:

1) È possibile modificare l'oggetto esistente con qualsiasi argomento selezionato nell'elenco a discesa;
2) Questo metodo funziona bene quando si risponde o si inoltra un'e-mail in una nuova finestra;
3) Se si tende a rispondere alle e-mail in linea dal riquadro di lettura anziché aprire una finestra separata, è possibile visualizzare il modulo utente come segue.
3.1) Fare clic Costruttori > Macro > Progetto1.ChangeSubject. Vedi screenshot:

3.2) Quando viene visualizzato il modulo utente, selezionare un oggetto preimpostato dall'elenco a discesa e fare clic su OK pulsante, l'oggetto originale verrà cambiato immediatamente.

4) Se si seleziona Nessun cambiamento nel menu a tendina, l'oggetto originale verrà mantenuto senza alcuna modifica.

I migliori strumenti per la produttività in ufficio

Kutools for Outlook - Oltre 100 potenti funzionalità per potenziare il tuo Outlook

🤖 Assistente di posta AI: E-mail istantanee professionali con la magia dell'intelligenza artificiale: risposte geniali con un solo clic, tono perfetto, padronanza multilingue. Trasforma l'e-mail senza sforzo! ...

???? Automazione di posta elettronica: Fuori sede (disponibile per POP e IMAP)  /  Pianifica l'invio di e-mail  /  CC/BCC automatico in base alle regole durante l'invio di e-mail  /  Inoltro automatico (regole avanzate)   /  Aggiunta automatica di saluto   /  Suddividi automaticamente le email con più destinatari in singoli messaggi ...

📨 gestione e-mail: Richiama facilmente le email  /  Blocca le email truffe per soggetto e altri  /  Elimina email duplicate  /  Ricerca avanzata  /  Consolidare cartelle ...

📁 Allegati ProSalvataggio in batch  /  Stacca batch  /  Comprimi in lotti  /  Salvataggio automatico   /  Scollegamento automatico  /  Comprimi automaticamente ...

🌟 Magia dell'interfaccia: 😊Più emoji carini e fantastici   /  Aumenta la tua produttività in Outlook con le visualizzazioni a schede  /  Riduci a icona Outlook invece di chiuderlo ...

👍 Meraviglie con un clic: Rispondi a tutti con gli allegati in arrivo  /   E-mail anti-phishing  /  🕘Mostra il fuso orario del mittente ...

👩🏼‍🤝‍👩🏻 Contatti e calendario: Aggiungi in batch contatti dalle email selezionate  /  Dividere un gruppo di contatti in singoli gruppi  /  Rimuovi promemoria compleanno ...

Al di sopra Caratteristiche 100 Attendi la tua esplorazione! Clicca qui per scoprire di più.

 

 

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