Ir para conteúdo
Fórum Script Brasil

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

  1. Diego.Machado

    Consulta

    Boa noite! Você consegue me enviar o link do vídeo dele referente ao que eu preciso fazer.
  2. Diego.Machado

    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!
  3. 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
  4. 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
  5. Diego.Machado

    Cnpj

    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
  6. Diego.Machado

    Cnpj

    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
  7. Diego.Machado

    Cnpj

    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
  8. Diego.Machado

    Erro with

    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
  9. Diego.Machado

    Consultar cnpj

    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
  10. Diego.Machado

    Cnpj

    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
  11. Diego.Machado

    Cnpj

    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
×
×
  • Criar Novo...