br
Português    
Ing
English and Others      

b CALENDÁRIO POPUP para Microsoft Excel

Novo   Download   Home  Anúncios

Este utilitário gera um calendário popup especial no Microsoft® Excel® para selecionar e contar datas, podendo inserir datas e intervalos de datas (Selecionador de Data) no Excel. É programado em Microsoft® Visual Basic® for Application (VBA) e disponível opcionalmente como Suplemento de COM (dll), Suplemento de EXE (xla/exe) ou Suplemento do Excel (xla), podendo ser útil para usuários da interface do Excel e programadores de VBA. Veja as figuras abaixo.

Ele consiste basicamente de um único arquivo (ExcelCalendar.dll, ExcelCalendar.exe ou ExcelCalendar.xla) que pode ser instalado automaticamente usando um dos pacotes de arquivo de instalação disponíveis abaixo para download. Exceto para a DLL, se optar por Suplemento de COM, nenhuma outra configuração é salva no Registro do Windows. Sua configuração é salva nos arquivos ExcelCalendar.ini, ExcelCalendarHotKey.xla, ExcelCalendarLoadExe.xla e ExcelCalendar.xlam que são criados e mantidos pelo próprio utilitário. Você também pode desinstalá-lo total e automaticamente, não deixando nenhuma sujeira no Registro do seu Windows ou disco.

Itens a seguir nesta página:

Características

Download

Opções de Suplementos para Instalar

Figuras

Função fCalendar() em VBA

Características:

- Popup em tamanho reduzido;

- Popup próximo ao cursor do mouse ou opcionalmente na última posição salva;

- Pode autopopup selecionando células com formatos de data ou células definidas especificamente para autopopup;

- Pode popup em três formatos: normal, compacto e iconizado em célula. No formato normal, dias são pegos a partir de um mapa tradicional de calendário, enquanto meses e anos são pegos a partir de caixas de combinação ou os incrementado/decrementado através de estratégicos controles de setas. No formato compacto, dias, meses e anos são pegos a partir de especiais e informativas caixas de combinação. Para o formato iconizado em célula, veja a próxima característica;

- Pode autopopup iconizado em célula com pouca ou nenhuma perturbação de cinco maneiras: Desvanecer 0%, Desvanecer 50%, Desvanecer 90%, Desvanecer Rápido e Fechar e Desvanecer Lento e Fechar. Se o ícone for clicado, o formato normal ou o compacto popup, se não, o ícone vai embora por ele mesmo quando a seleção no Excel for alterada;

- Permite incrementar e decrementar dias, semanas, meses e anos um por um através de botões ou inserindo quantidades diretamente em caixas de texto;

- Contagem de período: dias, semanas, meses e anos a partir de uma data de referência;

- A data de referência para contagem pode sempre iniciar definida com a data de Hoje, ou com a mesma Data Inicial do Display ou ainda com a última Data de Referência Definida, mas ela também pode ser definida no vôo com clique direito do mouse em controles de dia;

- Controles na interface para ir para a data de hoje e para voltar para data inicial;

- Captura e insere na célula selecionada;

- Se na célula a inserir também contém tempo além de data, o tempo existente será devidamente preservado. Para pegar e contar tempos de maneira similar, use o utilitário Relógio Popup para Excel também neste site;

- Insere sem quebrar a corrente do comando ‘Desfazer’ do Excel em curso e qualquer inclusão pode ser desfeita, normalmente, por ele mesmo

- Pode ser chamado pelo botão direito do mouse (Menu de Contexto), ou por um botão na barra de ferramentas Padrão do Excel (Guia Suplementos da Faixa de Opções 2007, 2010 ou 2013), ou por uma tecla de atalho no teclado definida pelo próprio usuário;

- A saída pode ser uma variant (date) (computador-legível/data não formatada) ou um destes 25 formatos (humano-legível/data formatada): Curto Win (definido pelo Painel de Controle do Windows); dd/mm/aaaa (23/08/2007); dd/mm/aa (23/08/07); mm/dd/aaaa (08/23/2007); mm/dd/aa (08/23/07); dd.mm.aaaa (23.08.2007); dd.mm.aa (23.08.07); mm.dd.aaaa (08.23.2007); mm.dd.aa (08.23.07); aaaa.mm.dd (2007.08.23); aaaammdd (20070823); mmm-aa (ago-07); Longo Win (definido pelo Painel de Controle do Windows); Longo 1 (agosto de 07); Longo 2 (23-ago-07); Longo 3 (23 agosto 07); Longo 4 (23 de agosto de 2007); Longo 5 (quinta-feira, 23 de agosto de 2007); Longo 6 (vigésimo terceiro dia de agosto de 2007); Longo 7 (aos vinte e três dias de agosto de 2007); Longo 8 (aos vinte e três dias de agosto do ano de dois mil e sete); Intervalo 1 (234 dias de 1/1/2007 até 23/8/2007); Intervalo 2 (7 meses e 22 dias de 1/1/2007 até 23/8/2007); Intervalo 3 (7 meses e 22 dias de 1/1/2007 até 23/8/2007) e Intervalo 4 (33 semanas e 3 dias de 1/1/2007 até 23/8/2007);

- Formatos de saída são listados em um menu sensível de acordo com a data atual no display com inclusão imediata e redefinição do formato de saída padrão para a próxima nova instância;

- Se o popup acontecer a partir de uma célula com formato de data, a saída será sempre variant (date) e o menu de formatos de saída ficará oculto;

- Pode lidar com datas a partir de 01/01/0100 AC até 31/12/9999. Como o Excel lida com datas apenas a partir de 30/12/1899 (00/00/0000), qualquer data antes disso é sempre retornada formatada como texto. E o tradicional bug de planilha sobre 1900 como ano bissexto foi devidamente contornado;

- Permite múltiplas instâncias em uma única instância do Excel com controles, configurações, contagens e resultados independentes. Em quantidades práticas, não há limites para o número de instâncias simultâneas;

- Controles de data de referência de contagem em todas as instâncias abertas ou algumas delas podem ser atados para definir simultaneamente;

- Controles atados são distinguidos por asteriscos no título;

- Pode acontecer simultâneos autopopups em diferentes células, embora não mais que um em cada célula;

- Instâncias geradas em autopopups de células ficam atadas às mesmas células iniciais para o retorno das saídas. Em outros tipos de popup, este link é opcional através de uma caixa de seleção na interface;

- A característica de múltiplas instâncias pode ser desabilitada;

- Quando a característica de múltiplas instâncias é desabilitada, há uma opção para autofechar quando a seleção no Excel é alterada;

- O tamanho do display pode ser ajustado pelas bordas para aumentar o tamanho da fonte de 8pt para até 32pt ou diminuir até 4pt;

- Pode copiar a data no display para Àrea de Transferência do Windows. Dica! Ao inserir com a tecla Shift pressionada, a saída será desviada para Àrea de Transferência;

- Pode colar no display data existente na Área de Transferência do Windows;

- Aceita as seguintes teclas de atalho que possibilitam pegar datas usando apenas o teclado, às vezes apenas dois ou três toques de tecla;

- Popup Calendário: Qualquer definida pelo usuário
- Avançar dia: Seta Direita
- Retroceder dia: Seta Esquerda
- Avançar semana: Seta Abaixo
- Retroceder semana: Seta Acima
- Avançar mês: Page Down
- Retroceder mês: Page Up
- Avançar ano: Ctrl + Page Down
- Retroceder ano: Ctrl + Page Up
- Ir data de Hoje: H
- Voltar à data Inicial: I
- Inserir e fechar: Enter
- Fechar: ESC
- Colar a partir da Área de Transferência do Windows: Ctrl + V or V
- Copiar para Àrea de Transferência do Windows: Ctrl + C or C Dica! Ao inserir com a tecla Shift pressionada, a saída será desviada para Àrea de Transferência;

- A face pode ser configurada em: cor e figura de segundo plano, em transparência do visor e de controles e ocultação da barra de título clássica;

- A última configuração aberta ou a configuração da última instância fechada será usada como padrão na próxima nova instância;

- Possui comandos no menu para restaurar todas as configurações padrão;

- O número da semana do ano de um dia é exibido como dica ao passar o mouse sobre o controle do dia;

- Todas as instâncias rodando podem ser fechadas com um único clique selecionando o comando ‘Fechar Tudo’ no menu;

- Pode ser chamado diretamente a partir de qualquer código VBA através da função fCalendar(). Veja, logo abaixo das figuras, uma descrição detalhada desta função e exemplos de aplicativos em VBA que a usam;

- Modal e não modal;

- Som;

- Apto para ser chamado pelo utilitário CellEasyEntry;

- Ocupa cerca de 760 Kb quando instalada.

Download:

Testado no Excel para Windows, versões 2000, 2002(XP), 2003, 2007, 2010 (32 e 64-bit), 2013 (32 e 64-bit), 2016 (32 e 64-bit) e 2019 (32 e 64-bit) em instalações MSI-based e Click-To-Run do Office 365™ de serviços baseados na nuvem.

Download

Baixe a versão portuguesa agora

Você pode baixar também deste site-espelho

Última atualização: 23/12/2023 - 1790,9kb

Grátis baseado neste Contrato de Licença

Obs.: O link acima baixa o pacote instalador e desinstalador programado em VBA em um XLS devidamente convertido para EXE pelo XLtoEXE para tornar a instalação mais fácil para leigos em macros e Microsoft® Windows®, no entanto, se você é experiente e por alguma razão preferir um pacote instalador e desinstalador em formato ZIP aberto, clique aqui. Com este pacote zip você pode instalar de três maneiras: (1) Simplesmente acionar o Install.exe que carrega o mesmo XLS no Excel sem alerta de macro; (2) Extrair o pacote inteiro para uma pasta e acionar o XLS, habilitando as macros no Excel e usando 123 como senha, ou (3) Instalar a DLL manualmente.

Veja também para Microsoft Access®, para Microsoft PowerPoint® e para Microsoft Word.

Opções de Suplementos para Instalar:

Este utilitário pode estar disponível para ser instalado em três opções de suplemento: Suplemento de EXE, Suplemento de COM ou Suplemento do Excel. Suplemento de COM e Suplemento do Excel rodam no Windows no mesmo processo ou espaço de memória do Excel e são tecnologias bem detalhadas na documentação do Excel e em bons livros sobre VBA, enquanto Suplemento de EXE é uma denominação especial aqui para um misto daquelas duas tecnologias onde o mesmo código VBA é rodado em um processo EXE separado e um pequeno Suplemento do Excel faz a conexão entre os dois processos. Apesar das diferenças nas tecnologias, este utilitário é totalmente funcional em qualquer uma delas. Assim, o que pode decidir na sua escolha para instalar são as características abaixo comparadas:

Características / Opções de Suplem.

 Suplemento
de EXE

 Suplemento
de COM

 Suplemento
do Excel

- Disponibilidade neste pacote:

Sim

Sim

Não¹

- Requer elevação de direitos no Windows:

Não

Sim Não

- Suportabilidade do Excel 64-bit:

Sim

Não Sim

- Desempenho na carga:

Ótimo

Ótimo Ruim

- Desempenho nas funcionalidades:

Bom/ótimo

Ótimo Ótimo

- Interferência no desempenho do Excel:

Muito pouco

Pouco Médio

- Risco de crash do Excel:

Muito baixo

Baixo Médio

- Extensão de arquivo principal:

xla/exe

dll xla

¹Indisponível temporariamente.

Figuras:

Figura

Função fCalendar():

O calendário pode ser chamado diretamente a partir de qualquer código VBA através da função fCalendar() que tem estes 7 argumentos opcionais:

1 - IniDate (Data, Padrão=Hoje)

2 - RetDateAsDate (Boolean, Padrão=Verdadeiro)

3 - WaitAndRetValue (Long 0 to 2, Padrão=2). Onde:
     0 - Não retorna valor, não assíncrona e não modal
     1 - Retorna valor, assíncrona e não modal
     2 - Retorna valor, assíncrona e modal

4 - FontDisplaySize (Long 4 to 32, Padrão=8)

5 - CompactMode (Boolean, Padrão=Falso)

6 - LeftPos (String, Padrão="0")

7 - TopPos (String, Padrão="0"). Onde LeftPos e TopPos são as distâncias em pontos (1/72 polegadas) do centro da lateral esquerda do calendário para a posição atual do mouse. Se os valores forem precedidos por $ (cifrão), LeftPos e TopPos passam a ser as distâncias do canto superior esquerdo do calendário para o canto superior esquerdo fixo da tela. E ainda, se houver apenas o $ sem número, será usada a posição padrão atual.

Exemplos se instalar como Suplemento de COM:

O Suplemento de COM disponibiliza um objeto para o projeto VBA por onde a função é chamada neste formato:

ObjToVBA.fCalendar(IniDate, RetDateAsDate, WaitAndRetValue, FontDisplaySize, CompactMode, LeftPos, TopPos)

Veja os códigos de três exemplos:

'1 - O código abaixo chama o calendário em modal para retornar data como
'     variant (Date) para um formulário.
Sub YourSub1()
    Dim ObjToVBA As Object
    Set ObjToVBA = _
    Application.COMAddIns("AddInXlCalendar.ExcelDesigner").Object
    fRet = ObjToVBA.fCalendar(IniDate)
End Sub

'2 - O código abaixo chama o calendário em não modal para retornar data
'    em qualquer formato saída como no comando de clique direito.
Sub YourSub2()
    Dim ObjToVBA As Object
    Set ObjToVBA = _
    Application.COMAddIns("AddInXlCalendar.ExcelDesigner").Object
    Call ObjToVBA.fCalendar(IniDate, False, 0)
End Sub

'3 - Idem para capturar e retornar data para a seleção ativa.
Sub YourSub3()
    Dim ObjToVBA As Object
    Set ObjToVBA = _
    Application.COMAddIns("AddInXlCalendar.ExcelDesigner").Object
    Call ObjToVBA.fCalendar
End Sub

Exemplos se instalar como Suplemento de EXE:

Suplemento de EXE não disponibiliza objetos para o projeto VBA e a função é chamada e retorna através do objeto CommandBars. Uma string composta com o nome da função e os argumentos separados por ponto e vírgula é passada através da propriedade Paramenter do botão de comando do utilitário criado em menu do Excel neste formato::

CmdBarCtrl.Parameter = "fCalendar;" & IniDate & ";" & RetDateAsDate & ";" & WaitAndRetValue & ";" & FontDisplaySize & ";" & CompactMode & ";" & LeftPos & ";" & TopPos

Veja os códgos dos mesmos três exemplos:

'1 - O código abaixo chama o calendário em modal para retornar data como
'     variant (Date) para um formulário.
Sub YourSub1()
    Dim CmdBarCtrl As CommandBarButton
    Const AddInTitle As String = "Orlando's " & "ExcelCalendar"
    Set CmdBarCtrl = Application.CommandBars.FindControl(Tag:=AddInTitle)
    CmdBarCtrl.Parameter = "fCalendar;" & IniDate
    CmdBarCtrl.Execute
    fRet = CmdBarCtrl.Parameter
    If fRet = "" Or fRet Like "False" Then fRet = False
    CmdBarCtrl.Parameter = ""
End Sub

'2 - O código abaixo chama o calendário em não modal para retornar data
'    em qualquer formato saída como no comando de clique direito.
Sub YourSub2()
    Dim CmdBarCtrl As CommandBarButton
    Const AddInTitle As String = "Orlando's " & "ExcelCalendar"
    Set CmdBarCtrl = Application.CommandBars.FindControl(Tag:=AddInTitle)
    CmdBarCtrl.Parameter = "fCalendar;" & IniDate & ";" & False & ";" & 0
    CmdBarCtrl.Execute
    CmdBarCtrl.Parameter = ""
End Sub

'3 - Idem para capturar e retornar data para a seleção ativa.
Sub YourSub3()
    Dim CmdBarCtrl As CommandBarButton
    Const AddInTitle As String = "Orlando's " & "ExcelCalendar"
    Set CmdBarCtrl = Application.CommandBars.FindControl(Tag:=AddInTitle)
    CmdBarCtrl.Parameter = "fCalendar"
    CmdBarCtrl.Execute
    CmdBarCtrl.Parameter = ""
End Sub

Veja também como chamar o calendário a partir de um UserForm do VBA em Caixa de Texto para Inclusão de Datas em Código VBA.

Mais informação

Home

 

Facebook



gplus

 

 

Visitas acumuladas em todas as páginas:
Visitas hoje só nesta página: