Ir para o conteúdo principal

Como calcular e mostrar idades por aniversários no calendário do Outlook?

De um modo geral, o aniversário de um contato será adicionado automaticamente como um compromisso anual recorrente no calendário. Mas você sabe como calcular a idade do contato e mostrar a idade diretamente na visualização do calendário? Este artigo apresentará um VBA para descobrir a idade de cada contato e mostrar a idade no assunto de compromisso recorrente relativo no Outlook.

Calcule e mostre idades por aniversários no calendário do Outlook

Guia Office - Habilite edição e navegação com guias no Microsoft Office, facilitando o trabalho
Kutools para Outlook - Impulsione o Outlook com mais de 100 recursos avançados para eficiência superior
Aumente seu Outlook 2021 - 2010 ou Outlook 365 com esses recursos avançados. Desfrute de um teste gratuito abrangente de 60 dias e melhore sua experiência de e-mail!

seta azul bolha direitaCalcule e mostre idades por aniversários no calendário do Outlook

Para calcular a idade de cada contato e mostrar a idade no assunto de compromisso recorrente relativo no calendário do Outlook, faça o seguinte:

1. Abra a pasta de calendário padrão e pressione outro + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Clique inserção > Móduloe cole o código VBA abaixo na janela do novo módulo.

VBA: Calcule e mostre a idade dos contatos no calendário do Outlook

Option Explicit
Public Sub UpdateAges()
Dim xOlApp As Outlook.Application
Dim xOlFolder As Outlook.Folder
Dim xOlItems As Outlook.Items
Dim xAppointmentItem As AppointmentItem
Dim xAge As Integer
Dim xOlProp As Outlook.UserProperty
Set xOlApp = Outlook.Application
Set xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Set xOlItems = xOlFolder.Items
For Each xAppointmentItem In xOlItems
If (InStr(1, xAppointmentItem.Subject, "Birthday") Or InStr(1, xAppointmentItem.Subject, "Anniversary")) And xAppointmentItem.IsRecurring = True Then
With xAppointmentItem
If xAppointmentItem.UserProperties("Original Subject") Is Nothing Then
Set xOlProp = xAppointmentItem.UserProperties.Add("Original Subject", olText, True)
xOlProp.Value = .Subject
.Save
End If
xAge = DateDiff("yyyy", .Start, Date)
.Subject = .UserProperties("Original Subject") & " (" & xAge & " in " & Format(Date, "yyyy") & ")"
.Save
End With
End If
Next
Set xAppointmentItem = Nothing
Set xOlItems = Nothing
Set xOlFolder = Nothing
Set xOlApp = Nothing
End Sub

3. aperte o F5 chave ou o Execute botão para executar este VBA.

Ao retornar ao calendário padrão, você verá que a idade de cada contato é calculada e exibida no assunto do compromisso de aniversário recorrente. Veja a imagem:

Notas:
(1) No assunto de um compromisso de aniversário recorrente de um determinado contato, a idade desse contato é abrangida por parênteses semelhantes a (41 em 2017), 41 é a idade, e 2017 é o ano atual.
(2) Se você alterar o aniversário de um determinado contato na pasta de contatos, a idade será removida do calendário automaticamente.
(3) Este VBA funciona apenas com o calendário padrão do Outlook.


seta azul bolha direitaArtigos Relacionados


Melhores ferramentas de produtividade de escritório

Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook

🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...

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

 

 

Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "

Could you please translate this line for me? TIA
This comment was minimized by the moderator on the site
If possible, could you please give the above directive for auto-count in English??

Danke
This comment was minimized by the moderator on the site
Is there a way to set this up without using the birthday feature of the contact card?

On recurring could you set this up to show the number of years?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations