PessoALL, é o seguinte:
Estou precisando preencher uma guia de recolhimwnto de tributos, a GRU, disponível na internet, via código VBA, mas não estou conseguindo.
Por ora tenha o seguinte código:
Sub Navegar()
On Error Resume Next
Dim endereço As String
Dim endereco As String
Dim mostra As Boolean
Dim i, n, x As Integer
endereço = "https://consulta.tesouro.fazenda.gov.br ... imples.asp"
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate (endereço)
mostra = True
ie.Visible = mostra
' PRIMEIRA TELA
ie.document.forms.Item(1).Item(0).Value = Sheets(1).Range("A2")
ie.document.forms.Item(1).Item(1).Value = Sheets(1).Range("A3")
ie.document.forms.Item(1).Item(2).Value = Sheets(1).Range("A3")
End Sub
O primeiro campo, código da unidade gestora, é preenchido normalmente, mas o formulário não reconhece o dado e os demais campos não são habilitados.
O segundo problema é como preencher um campo dropdown, também não consegui.
Ficarei muito grato pela ajuda dos colegas.
Um bom Natal a todos!
Valeu, galera.
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Preencher formulário da web via código VBA
Re: Preencher formulário da web via código VBA
Olá Marco,
Antes de mais nada, utilize este bloco de código antes de preencher os campos na página para garantir que isso só será feito quando ela estiver completamente carregada:
Preencher os campos pelo índice como está fazendo é uma solução, mas procure utilizar o nome para garantir que está colocandos os dados no correto, como mostra o artigo:
http://www.tomasvasquez.com.br/blog/mic ... t-explorer
Quanto ao campo combo, alterar o valor do Value é mais do que suficiente. Mas, quando testei aqui, a página mencionada vem com todos os combos vazios. É precisa preencher algo no campo Unidade Gestaro?
Abraços
Antes de mais nada, utilize este bloco de código antes de preencher os campos na página para garantir que isso só será feito quando ela estiver completamente carregada:
Código: Selecionar todos
Do Until ie.ReadyState = READYSTATE_COMPLETE
Loop
http://www.tomasvasquez.com.br/blog/mic ... t-explorer
Quanto ao campo combo, alterar o valor do Value é mais do que suficiente. Mas, quando testei aqui, a página mencionada vem com todos os combos vazios. É precisa preencher algo no campo Unidade Gestaro?
Abraços
Re: Preencher formulário da web via código VBA
Aí, webmaster. beleza?
Parte de meu problema resolvemos. Consegui da seguinte forma:
Tomando preliminarmente os procedimentos indicados por você,
1º - Atribuir valor ao ítem
2º - Ativar o ítem com Onchange, ie.Document.forms.Item("frm").Item(0).Onchange, desta forma o form libera os demais campos para alimentação
3º - para campos combo, optei por selectedIndex, o que resolveu o problema.
Agora não estou conseguindo evitar a ação humana para permitir o acesso ao site: aguela bendida janela pop-up de aviso de segurança do site. Você tem idéia como ativa-la via código?. Já tentei Application.SendKeys "{ENTER}", mas não tive sucesso.
Agradeço atencipadamente.
Boas festas a todos.
Parte de meu problema resolvemos. Consegui da seguinte forma:
Tomando preliminarmente os procedimentos indicados por você,
1º - Atribuir valor ao ítem
2º - Ativar o ítem com Onchange, ie.Document.forms.Item("frm").Item(0).Onchange, desta forma o form libera os demais campos para alimentação
3º - para campos combo, optei por selectedIndex, o que resolveu o problema.
Agora não estou conseguindo evitar a ação humana para permitir o acesso ao site: aguela bendida janela pop-up de aviso de segurança do site. Você tem idéia como ativa-la via código?. Já tentei Application.SendKeys "{ENTER}", mas não tive sucesso.
Agradeço atencipadamente.
Boas festas a todos.
Re: Preencher formulário da web via código VBA
Tenho uma dificuldade bastante parecida com a que foi tratada aqui.
Acesso uma pagina da Web, onde preciso preencher campos, que nao aceitam digitacao.
Obrigatoriamente tenho que selecionar de uma listbox.
Para mim bastaria algo que simulasse a sequencia que executo no teclado, quando preencho manualmente: clico sobre a primeira caixa, seta pra baixo para selecionar a primeira opcao da listbox, em seguida <TAB> para passar a segunda caixa, e repito isso ate o preenchimento de todas.
Alguem poderia me ajudar?
Antecipadamente grato
Paulo.
Acesso uma pagina da Web, onde preciso preencher campos, que nao aceitam digitacao.
Obrigatoriamente tenho que selecionar de uma listbox.
Para mim bastaria algo que simulasse a sequencia que executo no teclado, quando preencho manualmente: clico sobre a primeira caixa, seta pra baixo para selecionar a primeira opcao da listbox, em seguida <TAB> para passar a segunda caixa, e repito isso ate o preenchimento de todas.
Alguem poderia me ajudar?
Antecipadamente grato
Paulo.