Como enviar um calendário para vários destinatários individualmente no Outlook?
Normalmente, você pode enviar uma agenda a um destinatário com rapidez e facilidade usando o Calendário de e-mail recurso no Outlook. Se você deseja enviar um calendário anexado como arquivo iCalendar a vários contatos individualmente, é necessário enviá-lo um por um. Neste artigo, falarei sobre uma maneira fácil de enviar um calendário para vários destinatários individualmente no Outlook.
Envie uma agenda para vários destinatários individualmente com o código VBA
Envie uma agenda para vários destinatários individualmente com o código VBA
Para enviar uma agenda para vários destinatários separadamente, o seguinte código VBA pode ajudá-lo, faça o seguinte:
1. Navegue até o Contactos painel e selecione os contatos para os quais deseja enviar o calendário.
2. Em seguida, mantenha pressionado o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
3. Clique inserção > Módulo, copie e cole o código abaixo no módulo em branco aberto, veja a captura de tela:
Código VBA: Envie um calendário para vários destinatários 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. Após inserir o código, pressione F5 chave para executar este código, e um Selecionar pasta caixa de diálogo é exibida, selecione um calendário que deseja enviar, consulte a captura de tela:
5. Clique OKe, em seguida, especifique o intervalo de datas que deseja enviar ao calendário nas seguintes caixas de prompt, consulte a captura de tela:
6. E então, clique OK, novos e-mails com calendário anexado foram criados como mostrado a seguir, então você só precisa enviá-los um por um.
Artigos relacionados:
Como enviar um e-mail para vários destinatários individualmente no Outlook?
Como enviar emails em massa personalizados para uma lista do Excel via Outlook?
Como enviar vários rascunhos de uma vez no Outlook?
Como enviar e-mail para vários destinatários sem que eles saibam no Outlook?
Melhores ferramentas de produtividade de escritório
Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook
📧 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.