Mensagem
  • Kunena is not installed or the installed Kunena version is not supported. The plug-in has now been disabled. Please install/upgrade Kunena to version 1.7 for the Kunena Discuss Plug-in to function properly.

Userform Builtin VBA Calendar (Calendário criado em Userform)

É de conhecimento de todos que desenvolvem que existem dois (ou ate mais)  componentes activex de calendário, o Microsoft Calendar Control e o Month View Activex Control são alguns dos exemplos, para uso em projetos VB/VBA.

Especificamento em projetos VBA, o uso desses controles implica em validações de segurança no uso de componentes externos por parte dos aplicativos Office, como o Excel por exemplo. Isso significa que não há como fugir de algumas caixas de dialogos de aviso (nem mesmo via VBA, e não ha como desativa-las facilmente).

Um exemplo tipicos dessas mensagens é a de que componentes externos estão sendo inicializados pelo Excel:

Para contornar esse tipo de situação especificamente para o MS Calendar, resolvi criar o meu proprio controle de calendário totalmente em VBA

 

Para usa-lo é bem simples:

  1. Crie uma varável do tipo frmCalendar
  2. Exiba o formulário (Show)
  3. Aguarde a data que será clicada.

Segue abaixo um esboço do codigo 


Instruções de Uso

'Uso do Form calendar para retorno da data selecionada
Sub UsoCalendar()
'Declarar uma variável do tipo frmCalendar
Dim FC As frmCalendar
Dim dtData As Date

'Instancia
Set FC = New frmCalendar
'Exibi o form e aguarda o dia selecionado
FC.Show
'Devolve a data que foi clicado
dtData = FC.SelectDate
'Descarrega o form
Unload FC MsgBox dtData
End Sub

Clique aqui para Baixar o arquivo

 

Att. Adelson RM Silva