KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come inviare un calendario a più destinatari singolarmente in Outlook?

AutoreXiaoyang Data di modifica

Di norma, puoi inviare rapidamente e facilmente un calendario a un destinatario usando la funzionalità Invia calendario per posta elettronica di Outlook. Tuttavia, se desideri inviare il calendario come file iCalendar allegato a più contatti singolarmente, devi farlo uno alla volta. In questo articolo ti mostrerò un metodo semplice per inviare un calendario a più destinatari individualmente in Outlook.

Inviare un calendario a più destinatari singolarmente con codice VBA


Inviare un calendario a più destinatari singolarmente con codice VBA

Per inviare un calendario a più destinatari singolarmente, il seguente codice VBA ti sarà di grande aiuto. Segui questi semplici passaggi:

1. Passa al riquadro Contatti e seleziona i contatti a cui desideri inviare il calendario.

2. Tieni quindi premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic, Applications.

3. Fai clic su Inserisci > Modulo, copia e incolla il codice seguente nel modulo vuoto che si apre; vedi screenshot:

Codice VBA: inviare un calendario a più destinatari singolarmente:

Sub EmailCalendarToMultiplePersonsSeparately()
Dim xSelection As Outlook.Selection
Dim xCalendarFolder As Outlook.Folder
Dim xCalendarExporter As Outlook.CalendarSharing
Dim xStartDate, xEndDate As Date
Dim xCalendarFile As String
Dim xContactItem As Outlook.ContactItem
Dim xDistListItem As Outlook.DistListItem
Dim xItem As Object
Dim xMailItem As Outlook.MailItem
Dim xFilePath, xFileName, xEmailAddress As String
Dim xRecipient As Recipient
On Error Resume Next
xFilePath = CreateObject("WScript.Shell").SpecialFolders(16) & "\MyCalendar"
If Dir(xFilePath, vbDirectory) = "" Then MkDir xFilePath
If Outlook.Application.ActiveExplorer.CurrentFolder.DefaultItemType <> olContactItem Then
    MsgBox "Please Select contacts first!", vbExclamation + vbOKOnly, "Kutools for Outlook"
    Exit Sub
End If
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If xSelection Is Nothing Then Exit Sub
Set xCalendarFolder = Outlook.Application.Session.PickFolder
If xCalendarFolder Is Nothing Then Exit Sub
If xCalendarFolder.DefaultItemType <> olAppointmentItem Then Exit Sub
Set xCalendarExporter = xCalendarFolder.GetCalendarExporter
xStartDate = InputBox("Enter the start date:", "Kutools for Outlook", "")
If Len(Trim(xStartDate)) = 0 Then Exit Sub
xEndDate = InputBox("Enter the end date:", "Kutools for Outlook", "")
If Len(Trim(xEndDate)) = 0 Then Exit Sub
If xStartDate = #1/1/4501# Or xEndDate = #1/1/4501# Then Exit Sub
xFileName = "Calendar (" & Format(xStartDate, "YYYYMMDD") & " - " & Format(xEndDate, "YYYYMMDD") & ").ics"
xCalendarFile = xFilePath & "\" & xFileName
With xCalendarExporter
    .IncludeWholeCalendar = False
    .StartDate = xStartDate
    .EndDate = xEndDate
    .CalendarDetail = olFullDetails
    .IncludeAttachments = True
    .IncludePrivateDetails = False
    .RestrictToWorkingHours = False
    .SaveAsICal xCalendarFile
End With
For Each xItem In xSelection
    If xItem.Class = olContact Then
        Set xContactItem = xItem
        Set xMailItem = Outlook.Application.CreateItem(olMailItem)
        With xMailItem
            .To = xContactItem.Email1Address
            .Recipients.ResolveAll
            .Subject = xFileName
            .Attachments.Add xCalendarFile
            .Body = "Dear " & xContactItem.FullName & "," & vbCrLf & "Type body here..."
            .Display
        End With
    End If
    If xItem.Class = olDistributionList Then
        Set xDistListItem = xItem
        For i = 1 To xDistListItem.MemberCount
            Set xRecipient = xDistListItem.GetMember(i)
            Set xMailItem = Outlook.Application.CreateItem(olMailItem)
            With xMailItem
                .To = xRecipient.AddressEntry.Address
                .Recipients.ResolveAll
                .Subject = xFileName
                .Attachments.Add xCalendarFile
                .Body = "Dear " & xRecipient.Name & "," & vbCrLf & "Type body here..."
                .Display
            End With
        Next i
    End If
Next
End Sub
invia documento calendario a più persone 1

4. Dopo aver inserito il codice, premi il tasto F5 per eseguirlo. Si aprirà la finestra di dialogo Seleziona cartella; seleziona il calendario che desideri inviare. Vedi screenshot:

invia documento calendario a più persone 2

5.Fai clic su OKe specifica quindi il Intervallo di date con cui desideri inviare il calendario nelle finestre di dialogo successive; vedi screenshot:

invia documento calendario a più persone 3

6. Fai quindi clic su OK; verrà creata una nuova email con il calendario allegato, come mostrato nello screenshot seguente. A questo punto non ti resta che inviarle una alla volta.

invia documento calendario a più persone 4

Articoli correlati:

Come inviare un’e-mail a più destinatari in modo individuale in Outlook?

Come inviare e-mail personalizzate in massa da un elenco Excel tramite Outlook?

Come inviare più bozze contemporaneamente in Outlook?

Come inviare un’e-mail a più destinatari in Outlook senza che se ne accorgano?


Migliori strumenti per la produttività in Office

Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!

🤖KUTOOLS AI:Utilizza tecnologia AI avanzata per gestire le email senza sforzo, inclusi rispondere, riassumere, ottimizzare, estendere, tradurre e comporre email.

📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...

📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...

📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica

🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...

👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...

👩🏼‍🤝‍👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...

Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

Sblocca istantaneamente Kutools per Outlook con un solo clic! Non aspettare oltre: scaricalo ora e aumenta subito la tua efficienza!

kutools for outlook funzionalità1kutools for outlook funzionalità2

🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office

Fortemente consigliato: Kutools for Office (5-in-1)

Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!

  • Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
  • 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
  • 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint