Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Manipular calendário Web com VBA
Manipular calendário Web com VBA
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.
Se alguém puder me ajudar, desde já agradeço extremamente,
Atenciosamente,
edu_vba
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.
Se alguém puder me ajudar, desde já agradeço extremamente,
Atenciosamente,
edu_vba
Re: Manipular calendário Web com VBA
Esta usando Internet Controls/IE?
Mais fácil atribuir diretamente um valor no input, usa esse ID "dataInicial":
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"
Re: Manipular calendário Web com VBA
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:
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
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:
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
Re: Manipular calendário Web com VBA
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")
Re: Manipular calendário Web com VBA
Olá novamente Raygsson,
Ao utilizar o FireEvent, simplesmente nada aconteceu...
Atenciosamente,
edu_vba
Ao utilizar o FireEvent, simplesmente nada aconteceu...
Atenciosamente,
edu_vba
Re: Manipular calendário Web com VBA
Então infelizmente não dá ajudar sem ter acesso a página, precisaria analisar os elementos e como se comportam.