Skip to main content

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

Author: Xiaoyang Last Modified: 2025-08-06

Normalmente, puoi inviare rapidamente e facilmente un calendario a un destinatario utilizzando la funzione E-mail Calendar in Outlook. Se desideri inviare un calendario allegato come file iCalendar a più contatti individualmente, devi farlo uno per uno. In questo articolo, parlerò di un modo semplice per inviare un calendario a più destinatari singolarmente in Outlook.

Invia un calendario a più destinatari individualmente con il codice VBA


Invia un calendario a più destinatari individualmente con il codice VBA

Per inviare un calendario a più destinatari separatamente, il seguente codice VBA può aiutarti, procedi come segue:

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

2. Quindi tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

3. Clicca su Inserisci > Modulo, copia e incolla il codice sottostante nel modulo vuoto appena aperto, vedi screenshot:

Codice VBA: Invia un calendario a più destinatari individualmente:

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
doc send calendar to multiple persons 1

4. Dopo aver inserito il codice, premi il tasto F5 per eseguire questo codice, e apparirà una finestra di dialogo Seleziona Cartella, seleziona il calendario che desideri inviare, vedi screenshot:

doc send calendar to multiple persons 2

5. Clicca OK, quindi specifica l'intervallo di date per cui desideri inviare il calendario nelle seguenti finestre di prompt, vedi screenshot:

doc send calendar to multiple persons 3

6. Dopodiché, clicca OK, nuove email con il calendario allegato sono state create come mostrato nello screenshot seguente, poi ti basterà inviarle una per una.

doc send calendar to multiple persons 4

Articoli Correlati:

Come inviare un'email a più destinatari individualmente in Outlook?

Come inviare email personalizzate di massa da Excel tramite Outlook?

Come inviare più bozze contemporaneamente in Outlook?

Come inviare un'email a più destinatari senza che lo sappiano in Outlook?


I migliori strumenti per la produttività in Office

Ultime novità: Kutools per Outlook lancia la versione gratuita!

Scopri il nuovo Kutools per Outlook con oltre100 funzionalità incredibili! Clicca per scaricare ora!

🤖 Kutools AI : Sfrutta una tecnologia AI avanzata per gestire le email senza sforzo, tra cui rispondere, riassumere, ottimizzare, estendere, tradurre e scrivere email.

📧 Automazione email: Risposta automatica (disponibile per POP e IMAP) / Programmazione invio email / CC/BCC automatico tramite regola durante l’invio dell’email / Inoltro automatico (Regola avanzata) / Aggiungi saluto automaticamente / Suddivisione automatica delle email con più destinatari in email individuali ...

📨 Gestione email: Richiama Email / Blocca email di truffa tramite Oggetto e altro / Elimina Email duplicate / Ricerca Avanzata / Organizza cartelle ...

📁 Allegati Pro: Salvataggio in batch / Distacco in batch / Compressione in batch / Salvataggio automatico / Distacca automaticamente / Auto Comprimi ...

🌟 Magia dell’interfaccia: 😊Più emoji belle e simpatiche / Ti avvisa quando arrivano email importanti / Minimizza Outlook invece di chiuderlo ...

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

👩🏼‍🤝‍👩🏻 Contatti e Calendario: Aggiunta massiva dei contatti dalle email selezionate / Dividi un Gruppo di Contatti in gruppi individuali / Rimuovi promemoria di compleanno ...

Usa Kutools nella lingua che preferisci: supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

Sblocca istantaneamente Kutools per Outlook con un solo clic. Non aspettare, scarica ora e aumenta la tua efficienza!

kutools for outlook features1 kutools for outlook features2