Note: The other languages of the website are Google-translated. Back to English
English English

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 a edição e navegação com guias no Office e torne o trabalho muito mais fácil ...
Kutools for Outlook - traz 100 recursos avançados poderosos para o Microsoft Outlook
  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários e-mails por regras; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tenta responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails de uma vez; Adicionar saudação automaticamente quando responder; Adicionar data e hora automaticamente ao assunto ...
  • Ferramentas de Anexo: Desanexar automaticamente, Comprimir tudo, Renomear tudo, Salvar tudo automaticamente ... Relatório Rápido, Contar e-mails selecionados, Remover e-mails e contatos duplicados ...
  • Mais de 100 recursos avançados resolva a maioria dos seus problemas no Outlook 2010-2019 e 365. Full features 60-day free trial.

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 Corrida 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


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (5)
Avaliado 4.5 fora do 5 · classificações 1
Este comentário foi feito pelo moderador no site
Existe uma maneira de configurar isso sem usar o recurso de aniversário do cartão de visita?

Em recorrente, você poderia configurar isso para mostrar o número de anos?
Este comentário foi feito pelo moderador no site
Esta é a função principal do Outlook 2010 em Deutsch.
Idade > Alterar
Aniversário > Jahrestag
Aniversário > Geburtstag von
Ergänzungen aus Modul1 (von https://www.pctipp.ch/praxis/office/outlook-kontakte-geburtstag-und-aktuelles-alter-anzeigen-1983795.html):
Dim Alter As String
Dim Zaehler
Dim Geb Jahr
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "

Befehlzeilen:
Opção explícita
Public Sub UpdateAlter()
Dim xOlApp como Outlook.Application
Dim xOlFolder As Outlook.Folder
Dim xOlItems As Outlook.Items
Dim xAppointmentItem As AppointmentItem
Dim xAlter As Integer
Dim xOlProp como Outlook.UserProperty
Dim Alter As String
Dim Zaehler
Dim Geb Jahr
Definir xOlApp = Outlook.Application
Definir xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Definir xOlItems = xOlFolder.Items
Para cada xAppointmentItem em xOlItems
If (InStr(1, xAppointmentItem.Subject, "Geburtstag von") Ou InStr(1, xAppointmentItem.Subject, "Jahrestag")) E xAppointmentItem.IsRecurring = True Then
Com xAppointmentItem
Se xAppointmentItem.UserProperties("Original Subject") não for nada, então
Set xOlProp = xAppointmentItem.UserProperties.Add("Assunto Original", olText, True)
xOlProp.Value = .Assunto
.Salve 
Se acabar
xAlter = DateDiff("aaaa", .Início, Data)
.Subject = .UserProperties("Assunto Original") & " (" & xAlter & " in " & Format(Date, "yyyy") & ")"
.Salve 
Terminar com
Se acabar
Seguinte
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "
Definir xAppointmentItem = Nada
Definir xOlItems = Nada
Definir xOlFolder = Nada
Definir xOlApp = Nada
End Sub
Este comentário foi feito pelo moderador no site
Chapéu funktioniert - vielen Dank!
Avaliado 4.5 fora do 5
Este comentário foi feito pelo moderador no site
Se possível, você poderia fornecer a diretiva acima para contagem automática em inglês?

Obrigado
Este comentário foi feito pelo moderador no site
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "

Você poderia traduzir esta linha para mim? TIA
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos