Página 1 de 1

Application.SendKeys <Shift>+<F10>

Enviado: Seg Mai 30, 2016 3:34 pm
por rlellis
Olá,

Desenvolvi um VBA que faz uma automação do Internet Explorer com o intuito de capturar alguma informações de um site.

Existem algumas URL dinâmicas que remetem a documentos PDF, JPG, PNG, ...

Eu preciso realizar o download destes arquivos. Inicialmente eu tentei utilizar uma macro URLdownloadfile que existe em vários sites, mas não funcionou.

Fui obrigado a desenvolver dentro do VBA para abrir o arquivo e depois com o comando Application.SendKeys automatizei a abertura do menu do navegador, salvar o arquivo e depois fechar a janela do navegador.

No caso dos arquivos JPG e PNG eu não consigo utilizar a opção de "Salvar Como" porque o Internet Explorer define para salvar o arquivo com a extensão ".MHT"

Para funcionar, eu tenho que conseguir utilizar o comando Application.SendKeys com as teclas <Shift> + <F10> que acessa o menu da tecla direita do mouse, mas este não está funcionando.

O comendo que uso é:

Application.SendKeys "+{F10}", True

Se eu der uma pausa de fizer a sequencia de teclas na mão funciona normalmente, mas pela automação no Excel, não dá certo.

Alguém tem ideia por que não funciona?

Eu já testei com todas as combinações usando Windows 10 e 7 com Excel 2010 e 365 (Todos em português).

Re: Application.SendKeys <Shift>+<F10>

Enviado: Ter Mai 31, 2016 9:13 am
por Mikel Silveira Fraga
RLellis, bom dia e seja bem vindo ao fórum.

Já experimentou utilizar o Selenium VBA? Comparado com o Microsoft Internet Controls, o Selenium VBA é muito mais completo e, provavelmente com ele, você conseguirá baixar os arquivos da forma que deseja.

Nessa seção do fórum, existem vários tutoriais sobre o uso do Selenium VBA. Dê uma olhada e veja se ajuda.

Abraços e excelente semana.