ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Manipular calendário Web com VBA

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
edu_vba
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Ter Out 06, 2020 10:00 pm

Manipular calendário Web com VBA

Mensagem por edu_vba » Qua Out 07, 2020 5:26 pm

Olá a todos!
Preciso muito de ajuda para resolver um problema, que não encontro solução há pelo menos 1 semana... :(
É sobre programação VBA Web que no final, é realizada extração de arquivo em MS Excel. Consigo realizar o login, acessar a página para inserir as datas de início e fim, e o botão 'Exportar'.

Porém na página web para inserir data nos campos é exibido um calendário, no qual o usuário seleciona o mês, o ano e o dia, depois é só clicar no botão exportar, que será realizado download do arquivo MS Excel.
Eu consigo acessar via código o calendário, ativar o link para retroceder ou adiantar o mês/ano, mas não sei como selecionar o dia.

Anexo imagens da página web com apresentação do calendário, também imagens de trechos dos códigos html.
Pagina_do_calendario.jpg
Página de exibição do calendário
Pagina_do_calendario.jpg (60.97 KiB) Exibido 648 vezes
Codigo_WEB_1.jpg
Códigos html - parte 1
Codigo_WEB_1.jpg (151.95 KiB) Exibido 648 vezes
Codigo_WEB_2.jpg
Códigos html - parte 2
Codigo_WEB_2.jpg (145 KiB) Exibido 648 vezes
Se alguém puder me ajudar, desde já agradeço extremamente,

Atenciosamente,
edu_vba



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Raygsson
Colaborador
Colaborador
Mensagens: 66
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Manipular calendário Web com VBA

Mensagem por Raygsson » Qui Out 08, 2020 12:04 am

Esta usando Internet Controls/IE?
Mais fácil atribuir diretamente um valor no input, usa esse ID "dataInicial":

Código: Selecionar todos

IE.document.GetElementById("dataInicial").value = "08/10/2020"



edu_vba
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Ter Out 06, 2020 10:00 pm

Re: Manipular calendário Web com VBA

Mensagem por edu_vba » Qui Out 08, 2020 1:36 am

Olá Raygsson,

Primeiramente muito obrigado por me ajudar.
E sim! Utilizo o navegador Internet Explorer e já utilizei as seguintes abordagens:

(1) objElm.all.Item(0).Value = "01/10/2020"
(2) objElm.all.Item(0).innerText = "01/10/2020"
(3) objElm.all.Item(0).innerHTML = "01/10/2020"

Os campos recebem as datas, porém por algum motivo que eu não sei explicar, é como se a página web não fosse atualizada internamente e apesar de todos os campos preenchidos, retorna a seguinte mensagem de erro:
MSG_DE_ERRO.jpg
MSG DE ERRO DA PÁGINA WEB
MSG_DE_ERRO.jpg (29.67 KiB) Exibido 632 vezes
A partir desse passo, não sei se é necessário realizar algum outro procedimento, ou se a página web apenas reconhece internamente a inserção de data através do calendário.

Atenciosamente,
edu_vba



Raygsson
Colaborador
Colaborador
Mensagens: 66
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Manipular calendário Web com VBA

Mensagem por Raygsson » Qui Out 08, 2020 11:54 am

Tente atualizar o elemento depois que inserir o novo valor:

Código: Selecionar todos

IE.document.GetElementById("dataInicial").value = "08/10/2020"
IE.document.GetElementById("dataInicial").FireEvent ("onChange")



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


edu_vba
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Ter Out 06, 2020 10:00 pm

Re: Manipular calendário Web com VBA

Mensagem por edu_vba » Qui Out 08, 2020 3:05 pm

Olá novamente Raygsson,

Ao utilizar o FireEvent, simplesmente nada aconteceu... :(

Atenciosamente,
edu_vba



Raygsson
Colaborador
Colaborador
Mensagens: 66
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Manipular calendário Web com VBA

Mensagem por Raygsson » Qui Out 08, 2020 3:13 pm

Então infelizmente não dá ajudar sem ter acesso a página, precisaria analisar os elementos e como se comportam.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder