- 15 Dez 2016 às 09:51
#18178
Bom dia pessoal.
Estou com um problema no código abaixo:
O código é este abaixo:
=========================================================================
'pega a tabela onde estão as informações
Set tabela = IE.Document.all("ctl00_ctl00_head_mainProposta_grvTransmissaoAuto")
'Pega a quantidade de linhas da tabela
Totallinhatabela = tabela.getElementsByTagName("tr").length - 1
Set rs1 = New ADODB.Recordset
For Each linha In tabela.getElementsByTagName("tr")
If InStr(linha.outerText, "Proposta") = 0 Then
linha.getElementsByTagName("td")(0).getElementsByTagName("input")(0).Click
Call SIeBusy(IE, 2)
Set tabela2 = IE.Document.all("ctl00_ctl00_head_mainProposta_grvDadosTransmissaoAuto")
For Each linha2 In tabela2.getElementsByTagName("tr")
If InStr(linha2.outerText, "Erro Complemento") = 0 Then
linha2.getElementsByTagName("td")(0).getElementsByTagName("input")(0).Click
Call SIeBusy(IE, 2)
If IE.Document.all("ctl00_ctl00_head_mainProposta_grvDadosTransmissaoAuto_ctl02_ctl00").Checked Then
If InStr(IE.Document.all("txtRetornoComplemento").innerText, "CEP") <> 0 Then
TipoErro = "Erro de CEP"
ElseIf InStr(IE.Document.all("txtRetornoComplemento").innerText, "Bônus") <> 0 Then
TipoErro = "Erro de Bônus"
ElseIf InStr(IE.Document.all("txtRetornoComplemento").innerText, "Chassi") <> 0 Then
TipoErro = "Erro de Chassi"
Else
TipoErro = "Erros Diversos (exemplo data de emissão da NF divergente"
End If
Else
TipoErro = "Erro de Transmissão"
End If
'Grava a proposta na tabela de Controle de Execução dos Robôs
SqlInclui = "INSERT INTO tbl_ControleExecucaoRobos (IDRobo, NrControleExecucao, DtExecucao, StatusExecucao) "
SqlInclui = SqlInclui & "VALUES (" & IDRobo
SqlInclui = SqlInclui & ",'" & RTrim(IE.Document.all("ctl00_ctl00_head_mainProposta_txtTituloProposta").innerText)
SqlInclui = SqlInclui & "',convert(datetime,'" & DateTime.Now & "',103),"
SqlInclui = SqlInclui & "'" & TipoErro & " ')"
Set rs1 = cnn.Execute(SqlInclui)
'Sai da tela de erros
IE.Document.all("ctl00$ctl00$head$mainProposta$btnFecharPopUp").focus
IE.Document.all("ctl00$ctl00$head$mainProposta$btnFecharPopUp").Click
Call SIeBusy(IE, 2)
End If
Next
End If
Next
==================================================================================
Ao ler esta linha: linha.getElementsByTagName("td")(0).getElementsByTagName("input")(0).Click
O objeto "linha " fica com permissão negada.
Ele continua todo o processo abaixo da linha que causa o erro, mas ao voltar neste IF:
If InStr(linha.outerText, "Proposta") = 0 Then
o erro é gerado e para todo o processo.
Alguém consegue me dar uma luz do que pode causar este erro?
Obrigado pela atenção.
Estou com um problema no código abaixo:
O código é este abaixo:
=========================================================================
'pega a tabela onde estão as informações
Set tabela = IE.Document.all("ctl00_ctl00_head_mainProposta_grvTransmissaoAuto")
'Pega a quantidade de linhas da tabela
Totallinhatabela = tabela.getElementsByTagName("tr").length - 1
Set rs1 = New ADODB.Recordset
For Each linha In tabela.getElementsByTagName("tr")
If InStr(linha.outerText, "Proposta") = 0 Then
linha.getElementsByTagName("td")(0).getElementsByTagName("input")(0).Click
Call SIeBusy(IE, 2)
Set tabela2 = IE.Document.all("ctl00_ctl00_head_mainProposta_grvDadosTransmissaoAuto")
For Each linha2 In tabela2.getElementsByTagName("tr")
If InStr(linha2.outerText, "Erro Complemento") = 0 Then
linha2.getElementsByTagName("td")(0).getElementsByTagName("input")(0).Click
Call SIeBusy(IE, 2)
If IE.Document.all("ctl00_ctl00_head_mainProposta_grvDadosTransmissaoAuto_ctl02_ctl00").Checked Then
If InStr(IE.Document.all("txtRetornoComplemento").innerText, "CEP") <> 0 Then
TipoErro = "Erro de CEP"
ElseIf InStr(IE.Document.all("txtRetornoComplemento").innerText, "Bônus") <> 0 Then
TipoErro = "Erro de Bônus"
ElseIf InStr(IE.Document.all("txtRetornoComplemento").innerText, "Chassi") <> 0 Then
TipoErro = "Erro de Chassi"
Else
TipoErro = "Erros Diversos (exemplo data de emissão da NF divergente"
End If
Else
TipoErro = "Erro de Transmissão"
End If
'Grava a proposta na tabela de Controle de Execução dos Robôs
SqlInclui = "INSERT INTO tbl_ControleExecucaoRobos (IDRobo, NrControleExecucao, DtExecucao, StatusExecucao) "
SqlInclui = SqlInclui & "VALUES (" & IDRobo
SqlInclui = SqlInclui & ",'" & RTrim(IE.Document.all("ctl00_ctl00_head_mainProposta_txtTituloProposta").innerText)
SqlInclui = SqlInclui & "',convert(datetime,'" & DateTime.Now & "',103),"
SqlInclui = SqlInclui & "'" & TipoErro & " ')"
Set rs1 = cnn.Execute(SqlInclui)
'Sai da tela de erros
IE.Document.all("ctl00$ctl00$head$mainProposta$btnFecharPopUp").focus
IE.Document.all("ctl00$ctl00$head$mainProposta$btnFecharPopUp").Click
Call SIeBusy(IE, 2)
End If
Next
End If
Next
==================================================================================
Ao ler esta linha: linha.getElementsByTagName("td")(0).getElementsByTagName("input")(0).Click
O objeto "linha " fica com permissão negada.
Ele continua todo o processo abaixo da linha que causa o erro, mas ao voltar neste IF:
If InStr(linha.outerText, "Proposta") = 0 Then
o erro é gerado e para todo o processo.
Alguém consegue me dar uma luz do que pode causar este erro?
Obrigado pela atenção.