Diego.Machado
Membros-
Total de itens
12 -
Registro em
-
Última visita
Sobre Diego.Machado
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
Diego.Machado's Achievements
0
Reputação
-
Boa noite! Você consegue me enviar o link do vídeo dele referente ao que eu preciso fazer.
-
Diego.Machado começou a seguir Erro with e Consulta
-
Estou precisando de ajuda com um código VBA para Excel. A minha necessidade é criar um script que copie o conteúdo de uma célula, o envie para um site específico, colete o resultado retornado pelo site, e por fim, cole esse resultado em outra célula do Excel. Gostaria também que o código repetisse esse processo para células consecutivas. Se alguém puder me orientar ou fornecer um exemplo, ficarei muito agradecido!
-
Eu estou com esse código onde ele pega um cpf na planilha faz a consulta dele e traz algumas informações para o excel porem com a desabilitação do internet Explorer gostaria de saber se tem como mudar esse código para usar o web driver chorme e o selenium Private Sub btExecuta_Click() Application.ScreenUpdating = False Dim vErro As String Dim IElocation As String Dim Resultado(1 To 15) As String Dim vNome As String Dim vDados As String Dim vSituacao As String Dim W As Worksheet Dim Ie As Object Dim UltCel As Range Dim A As Integer Dim col As Integer Dim vSegundos As Integer Dim ln As Long Set W = Planilha1 vSegundos = 3 W.Range("A2").Select W.Range("B2:d1000").Clear W.Range("A1").Value = "num_cpf" W.Range("b1").Value = "nome_pessoa_física" W.Range("c1").Value = "situação" W.Range("d1").Value = "informações complementares" Set Ie = CreateObject("InternetExplorer.Application") Set UltCel = W.Cells(W.Rows.Count, 1).End(xlUp) With Ie .navigate "https://www.situacaocadastral.com.br/" .Visible = True End With Do While Ie.busy Loop ln = 2 col = 1 Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) Do While ln <= UltCel.Row Ie.Document.getelementbyid("doc").Value = W.Cells(ln, col) Ie.Document.getelementbyid("consultar").Click Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) On Error Resume Next vErro = Ie.Document.getelementbyid("mensagem").innertext On Error GoTo 0 If vErro = "Informe um termo válido! " Then Ie.Document.getelementbyid("consultar").Click Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) ElseIf vErro = "Informe um termo válido! " Then W.Cells(ln, col + 1).Value = "'" & vErro ElseIf Trim(vErro) = "CPF inválido" Then W.Cells(ln, col + 1).Value = "'" & vErro ElseIf Trim(vErro) = "#Erro: Tente novamente!" Then W.Cells(ln, col + 1).Value = "'" & vErro Else vErro = vbNullString End If Do While Ie.busy Loop If vErro = vbNullString Then vNome = Ie.Document.getelementsbyclassname("dados nome")(0).innertext vDados = Ie.Document.getelementsbyclassname("dados texto")(0).innertext vSituacao = Ie.Document.getelementsbyclassname("dados situacao")(0).innertext W.Cells(ln, col + 1) = vNome W.Cells(ln, col + 2) = vSituacao W.Cells(ln, col + 3) = vDados vNome = vbNullString vDados = vbNullString vSituacao = vbNullString Ie.Document.getelementbyid("btnVoltar").Click Else Ie.navigate "https://www.situacaocadastral.com.br/" W.Cells(ln, col + 1) = "Dados inválidos para consulta" End If ln = ln + 1 Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) Loop Ie.Quit W.UsedRange.EntireColumn.AutoFit Application.ScreenUpdating = True DoEvents MsgBox "Consulta realizada com sucesso!" Set Ie = Nothing Set UltCel = Nothing Set W = Nothing End sub
-
Eu estou com esse código porem ele usa o internet Explorer para fazer a pesquisa gostaria de saber se tem como trocar para ele usar o edge ou o selenium? Private Sub btExecuta_Click() Application.ScreenUpdating = False Dim vErro As String Dim IElocation As String Dim Resultado(1 To 15) As String Dim vNome As String Dim vDados As String Dim vSituacao As String Dim W As Worksheet Dim Ie As Object Dim UltCel As Range Dim A As Integer Dim col As Integer Dim vSegundos As Integer Dim ln As Long Set W = Planilha1 vSegundos = 3 W.Range("A2").Select W.Range("B2:d1000").Clear W.Range("A1").Value = "num_cpf" W.Range("b1").Value = "nome_pessoa_física" W.Range("c1").Value = "situação" W.Range("d1").Value = "informações complementares" Set Ie = CreateObject("InternetExplorer.Application") Set UltCel = W.Cells(W.Rows.Count, 1).End(xlUp) With Ie .navigate "https://www.situacaocadastral.com.br/" .Visible = True End With Do While Ie.busy Loop ln = 2 col = 1 Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) Do While ln <= UltCel.Row Ie.Document.getelementbyid("doc").Value = W.Cells(ln, col) Ie.Document.getelementbyid("consultar").Click Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) On Error Resume Next vErro = Ie.Document.getelementbyid("mensagem").innertext On Error GoTo 0 If vErro = "Informe um termo válido! " Then Ie.Document.getelementbyid("consultar").Click Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) ElseIf vErro = "Informe um termo válido! " Then W.Cells(ln, col + 1).Value = "'" & vErro ElseIf Trim(vErro) = "CPF inválido" Then W.Cells(ln, col + 1).Value = "'" & vErro ElseIf Trim(vErro) = "#Erro: Tente novamente!" Then W.Cells(ln, col + 1).Value = "'" & vErro Else vErro = vbNullString End If Do While Ie.busy Loop If vErro = vbNullString Then vNome = Ie.Document.getelementsbyclassname("dados nome")(0).innertext vDados = Ie.Document.getelementsbyclassname("dados texto")(0).innertext vSituacao = Ie.Document.getelementsbyclassname("dados situacao")(0).innertext W.Cells(ln, col + 1) = vNome W.Cells(ln, col + 2) = vSituacao W.Cells(ln, col + 3) = vDados vNome = vbNullString vDados = vbNullString vSituacao = vbNullString Ie.Document.getelementbyid("btnVoltar").Click Else Ie.navigate "https://www.situacaocadastral.com.br/" W.Cells(ln, col + 1) = "Dados inválidos para consulta" End If ln = ln + 1 Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) Loop Ie.Quit W.UsedRange.EntireColumn.AutoFit Application.ScreenUpdating = True DoEvents MsgBox "Consulta realizada com sucesso!" Set Ie = Nothing Set UltCel = Nothing Set W = Nothing End sub
-
Uma sugestão Eu encontrei esse código que faz exatamente oque eu precisava como aquele que estávamos tentando usar esta dando erro não sei se daria para modificar esse aqui para invés de usar IE usar Selenium
-
Eu estou com esse código se fosse ser mais fácil teria que mudar ele para invés de IE usar o selenium Private Sub btExecuta_Click() Application.ScreenUpdating = False Dim vErro As String Dim IElocation As String Dim Resultado(1 To 15) As String Dim vNome As String Dim vDados As String Dim vSituacao As String Dim W As Worksheet Dim Ie As Object Dim UltCel As Range Dim A As Integer Dim col As Integer Dim vSegundos As Integer Dim ln As Long Set W = Planilha1 vSegundos = 3 W.Range("A2").Select W.Range("B2:d1000").Clear W.Range("A1").Value = "num_cpf" W.Range("b1").Value = "nome_pessoa_física" W.Range("c1").Value = "situação" W.Range("d1").Value = "informações complementares" Set Ie = CreateObject("InternetExplorer.Application") Set UltCel = W.Cells(W.Rows.Count, 1).End(xlUp) With Ie .navigate "https://www.situacaocadastral.com.br/" .Visible = True End With Do While Ie.busy Loop ln = 2 col = 1 Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) Do While ln <= UltCel.Row Ie.Document.getelementbyid("doc").Value = W.Cells(ln, col) Ie.Document.getelementbyid("consultar").Click Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) On Error Resume Next vErro = Ie.Document.getelementbyid("mensagem").innertext On Error GoTo 0 If vErro = "Informe um termo válido! " Then Ie.Document.getelementbyid("consultar").Click Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) ElseIf vErro = "Informe um termo válido! " Then W.Cells(ln, col + 1).Value = "'" & vErro ElseIf Trim(vErro) = "CPF inválido" Then W.Cells(ln, col + 1).Value = "'" & vErro ElseIf Trim(vErro) = "#Erro: Tente novamente!" Then W.Cells(ln, col + 1).Value = "'" & vErro Else vErro = vbNullString End If Do While Ie.busy Loop If vErro = vbNullString Then vNome = Ie.Document.getelementsbyclassname("dados nome")(0).innertext vDados = Ie.Document.getelementsbyclassname("dados texto")(0).innertext vSituacao = Ie.Document.getelementsbyclassname("dados situacao")(0).innertext W.Cells(ln, col + 1) = vNome W.Cells(ln, col + 2) = vSituacao W.Cells(ln, col + 3) = vDados vNome = vbNullString vDados = vbNullString vSituacao = vbNullString Ie.Document.getelementbyid("btnVoltar").Click Else Ie.navigate "https://www.situacaocadastral.com.br/" W.Cells(ln, col + 1) = "Dados inválidos para consulta" End If ln = ln + 1 Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + vSegundos) Loop Ie.Quit W.UsedRange.EntireColumn.AutoFit Application.ScreenUpdating = True DoEvents MsgBox "Consulta realizada com sucesso!" Set Ie = Nothing Set UltCel = Nothing Set W = Nothing End sub
-
Continua dando o erro 91 Porem quando eu faço um teste no console do edge da esse erro como amostra na imagem anexada quando troco os () por [] funciona Não sei se pode ser por conta da versão do excel estou usando o 2013 ou alguma opção que tenho que ativar caso precise tenho o selenium e webdriver do chrome e o do edge
-
Sub ConsultarCNPJ() ' Adcionar a referência Microsoft HTML Object Libary Dim IE As Object Dim doc As HTMLDocument Dim CNPJ As Range Dim Status As String ' Cria um novo objeto Internet Explorer Set IE = CreateObject("InternetExplorer.Application") ' Para cada CNPJ na coluna A (de A2 até a última célula preenchida) For Each CNPJ In Worksheets("Planilha1").Range("A2:A" & Worksheets("Planilha1").Cells(Rows.Count, 1).End(xlUp).Row) ' Navega para o site de consulta de CNPJ IE.navigate "https://www.situacao-cadastral.com/" ' Aguarda até que a página seja carregada Do While IE.Busy Or IE.readyState <> 4 Application.Wait DateAdd("s", 1, Now) Loop ' Insere o CNPJ no campo de pesquisa e clica no botão de pesquisa Set doc = IE.document doc.getElementById("doc").Value = CNPJ.Value doc.getElementById("consultar").Click ' Aguarda até que a página com os resultados seja carregada Do While IE.Busy Or IE.readyState <> 4 Application.Wait DateAdd("s", 1, Now) Loop ' Extrai o status do CNPJ e escreve na coluna B Set doc = IE.document Status = IE.document.getElementsByClassName("vrd")(0).innerText.Value = IE CNPJ.Offset(0, 1).Value = Status Next CNPJ ' Fecha o Internet Explorer IE.Quit End Sub Fiz esse código vba para o excel ele busca um cnpj na coluna A linha 2 faz as pesquisas e traz a informação se o cnpj ainda esta ativo ou não e continua fazendo até acabar todos os cnpj Porem no cód Status = IE.document.getElementsByClassName("vrd")(0).innerText esta dando um erro With já não sei mas como resolver
-
Sub ConsultarCNPJ() ' Adcionar a referência Microsoft HTML Object Libary Dim IE As Object Dim doc As HTMLDocument Dim CNPJ As Range Dim Status As String ' Cria um novo objeto Internet Explorer Set IE = CreateObject("InternetExplorer.Application") ' Para cada CNPJ na coluna A (de A2 até a última célula preenchida) For Each CNPJ In Worksheets("Planilha1").Range("A2:A" & Worksheets("Planilha1").Cells(Rows.Count, 1).End(xlUp).Row) ' Navega para o site de consulta de CNPJ IE.navigate "https://www.situacao-cadastral.com/" ' Aguarda até que a página seja carregada Do While IE.Busy Or IE.readyState <> 4 Application.Wait DateAdd("s", 1, Now) Loop ' Insere o CNPJ no campo de pesquisa e clica no botão de pesquisa Set doc = IE.document doc.getElementById("doc").Value = CNPJ.Value doc.getElementById("consultar").Click ' Aguarda até que a página com os resultados seja carregada Do While IE.Busy Or IE.readyState <> 4 Application.Wait DateAdd("s", 1, Now) Loop ' Extrai o status do CNPJ e escreve na coluna B Set doc = IE.document Status = doc.getElementsByClassName("vrd")(0).innerText CNPJ.Offset(0, 1).Value = Status Next CNPJ ' Fecha o Internet Explorer IE.Quit End Sub Estou com esse vba porem na parte do doc.getElementsByClassName ele da o erro 91 não sei como resolver
-
Quando eu tento executar da esse erro E quando deixo essas linhas do código como texto acrescentando o ' antes de cada uma delas da um erro 91
-
Diego.Machado se registrou na comunidade
-
Eu precisava criar um macro para pegar um CNPJ na planilha do Excel ir no site e consultar se o CNPJ ainda estava ativo pegar a informação se esta ativo ou não e trazer para o excel porém com vários CNPJS