Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#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.
#18187
Desculpe, mas não expliquei o contexto que estou realizando com esse código.

Estou fazendo um robo que irá realizar o processo que alguns usuários realizam manualmente.

Neste caso ele vai acessar um site, selecionar alguns campos e no ponto onde estou com problemas na automação, o sistema clica em um botão de uma tabela (que não é um link é um input) e abre um pop-up para acessar informações de outra tabela.

O escopo é apenas leitura de dados, gravação em um excel e depois verificação dos dados em outro sistema.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord