Como posso criar uma entrada de calendário no VBA Exce

Problem Statement

No VBA, três tipos principais de controles de data e hora podem ser usados, desde que determinados ocxs tenham sido registrados usando direitos de administrador. Esses são controles VB6 e não são nativos do ambiente VBA. Para instalar oMontview Control eDatetime Picker, precisamos definir uma referência paraMicrosoft MonthView Control 6.0 (SP4), que só pode ser acessado por registro elevado de mscomct2.ocx. Da mesma forma para mscal.ocx e mscomctl.ocx. Dito isto, odeprecated mscal.ocx pode ou não funcionar no Windows 10.

ependendo das versões do Windows e do Office (32 ou 64 bits), pode ser realmente doloroso registrar esses ocx

OMonthview Control, Datetime Picker e a controle de calendário reprovado parecido com abaixo.

Então, que problema posso enfrentar se incluí-los no meu aplicativo?

Se você incluí-los em seu projeto e distribuí-los para seus amigos, vizinhos, clientes etc., o aplicativo poderá ou não funcionar, dependendo se eles têm o ocx instalad

E, portanto, é altamente recomendável para usá-los em seu projeto

Quais alternativas eu tenho?

Estecalendar, usando Userform e Worksheet, foi sugerido anteriormente e é incrivelmente básic

Quando vi o calendário do Windows 10 que apareceu quando clicamos na data e hora da bandeja do sistema, não pude deixar de me perguntar se podemos replicar isso no VB

Este post é sobre como criar um calendárioferrament que não depende de ocx ou 32 bits / 64 bits e pode ser distribuído livremente com seu projet

Este é o calendário do Windows 10:

e é assim que você interage:

questionAnswers(2)

yourAnswerToTheQuestion