Come inviare un calendario a più destinatari individualmente in Outlook?
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

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:

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

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.

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!
📧 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!

