eu tenho um formulário onde tem os parâmetros para preencher uma tela no Internet Explore, onde utilizo a referencia do Internet Controls,
tudo funciona bem no primeiro cadastro, porem quando eu coloco em um loop da erro "O Comando ou a ação "IrParaRegistro" não está disponível agora", quando acaber de preencher o primeiro cadastro ele deveria fechar o navegador e começar um novo cadastro com dados do registro 2 do formulário
o ERRO ocorre na ultima linha.
alguém sabe me dizer por que isso ocorre ? ou sabe um outro comando similar para substituir a ultima linha ?
For i = 1 To 2 Step 1 ' começa o loop
'On Error Resume Next
Dim IE As Object ' cria o objeto
Set IE = CreateObject("internetexplorer.application") ' cria objeto IE
IE.Visible = True 'abre o internet explore
IE.Navigate "https://www.sefaz.mt.gov.br/nfe/pages/consultaemitidasrecebidas/consultaemitidasrecebidas.xhtml" ' vai ate a pagina desejada
While IE.Busy 'espera a pagina carregar por completo
DoEvents
Wend
sng = Timer
Do While sng + 1 > Timer ' tempo para escolher carregar o campo cnpj
Loop
IE.Document.all("j_idt14:tipoDoct_label").Click ' clica para escolher cnpj IE ou cpf
sng = Timer
Do While sng + 2 > Timer ' tempo para escolher carregar o campo cnpj
Loop
IE.Document.getelementsByClassname("ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all")(1).Click ' escolhe cnpj
sng = Timer
Do While sng + 2 > Timer ' tempo para escolher carregar o campo cnpj
Loop
IE.Document.all("j_idt14:numrDoct").Value = Me.CNPJ ' preenche com o cnpj
sng = Timer
Do While sng + 1 > Timer ' tempo para escolher o tipo imposto
Loop
IE.Document.all("j_idt14:dataInicial_input").Value = Me.tx_DT_INI 'seleciona a data inicial
IE.Document.all("j_idt14:dataFinal_input").Value = Me.tx_DT_FIN 'seleciona a data final
IE.Document.getelementsByTagName("label")(5).Click
IE.Document.all("j_idt14:btnConsEmitReceb").Click ' clica no botão consultar
sng = Timer
Do While sng + 4 > Timer ' tempo para escolher o tipo imposto
Loop
IE.Document.Links(0).Click ' clica e exportar para excel
sng = Timer
Do While sng + 4 > Timer ' tempo para escolher o tipo imposto
Loop
SendKeys "%{s}" ' clica em salvar para poder concluir o download
sng = Timer
Do While sng + 4 > Timer ' tempo para escolher o tipo imposto
Loop
'============================ Tranfere e renomeia o primeiro arquivo como NF-e Entrada =============
Dim ArquivoNovo As String
ArquivoNovo = "C:\Downloads\" & Dir("C:\Downloads\*.xls") ' posta onde sera salvo os arquivos
sng = Timer
Do While sng + 3 > Timer ' tempo para escolher o tipo imposto
Loop
Name ArquivoNovo As Me.tx_Dir_Dist & "" & Me.tx_Nome_Arq ' pasta onde sera transferido o arquivo ja renomeado
Kill "C:\Downloads\*.xls"
IE.Quit
Set IE = Nothing
DoCmd.GoToRecord , , acNext ' ERRO ESTA NESSA LINHA
Next
tudo funciona bem no primeiro cadastro, porem quando eu coloco em um loop da erro "O Comando ou a ação "IrParaRegistro" não está disponível agora", quando acaber de preencher o primeiro cadastro ele deveria fechar o navegador e começar um novo cadastro com dados do registro 2 do formulário
o ERRO ocorre na ultima linha.
alguém sabe me dizer por que isso ocorre ? ou sabe um outro comando similar para substituir a ultima linha ?
For i = 1 To 2 Step 1 ' começa o loop
'On Error Resume Next
Dim IE As Object ' cria o objeto
Set IE = CreateObject("internetexplorer.application") ' cria objeto IE
IE.Visible = True 'abre o internet explore
IE.Navigate "https://www.sefaz.mt.gov.br/nfe/pages/consultaemitidasrecebidas/consultaemitidasrecebidas.xhtml" ' vai ate a pagina desejada
While IE.Busy 'espera a pagina carregar por completo
DoEvents
Wend
sng = Timer
Do While sng + 1 > Timer ' tempo para escolher carregar o campo cnpj
Loop
IE.Document.all("j_idt14:tipoDoct_label").Click ' clica para escolher cnpj IE ou cpf
sng = Timer
Do While sng + 2 > Timer ' tempo para escolher carregar o campo cnpj
Loop
IE.Document.getelementsByClassname("ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all")(1).Click ' escolhe cnpj
sng = Timer
Do While sng + 2 > Timer ' tempo para escolher carregar o campo cnpj
Loop
IE.Document.all("j_idt14:numrDoct").Value = Me.CNPJ ' preenche com o cnpj
sng = Timer
Do While sng + 1 > Timer ' tempo para escolher o tipo imposto
Loop
IE.Document.all("j_idt14:dataInicial_input").Value = Me.tx_DT_INI 'seleciona a data inicial
IE.Document.all("j_idt14:dataFinal_input").Value = Me.tx_DT_FIN 'seleciona a data final
IE.Document.getelementsByTagName("label")(5).Click
IE.Document.all("j_idt14:btnConsEmitReceb").Click ' clica no botão consultar
sng = Timer
Do While sng + 4 > Timer ' tempo para escolher o tipo imposto
Loop
IE.Document.Links(0).Click ' clica e exportar para excel
sng = Timer
Do While sng + 4 > Timer ' tempo para escolher o tipo imposto
Loop
SendKeys "%{s}" ' clica em salvar para poder concluir o download
sng = Timer
Do While sng + 4 > Timer ' tempo para escolher o tipo imposto
Loop
'============================ Tranfere e renomeia o primeiro arquivo como NF-e Entrada =============
Dim ArquivoNovo As String
ArquivoNovo = "C:\Downloads\" & Dir("C:\Downloads\*.xls") ' posta onde sera salvo os arquivos
sng = Timer
Do While sng + 3 > Timer ' tempo para escolher o tipo imposto
Loop
Name ArquivoNovo As Me.tx_Dir_Dist & "" & Me.tx_Nome_Arq ' pasta onde sera transferido o arquivo ja renomeado
Kill "C:\Downloads\*.xls"
IE.Quit
Set IE = Nothing
DoCmd.GoToRecord , , acNext ' ERRO ESTA NESSA LINHA
Next