MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Conceito Excel VBA para ser aplicado no Access

    avatar
    Nill2013Br
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 14/05/2013

    Conceito Excel VBA para ser aplicado no Access Empty Conceito Excel VBA para ser aplicado no Access

    Mensagem  Nill2013Br 19/3/2018, 01:43

    Pessoal

    Gostaria de saber se é possível aplicar o conceito do código abaixo que é para Excel em uma aplicação Access
    seguindo o mesmo estilo de busca só que em uma tabela. Já peguei alguns exemplos até aqui do fórum mas ainda não achei nada que me desse um ponto de partida de como iniciar meus estudos. Agradeço a atenção.

    Código:
    'Inclui referência ao Microsoft Internet Controls
    Sub lReferenciaIE()
        Dim ObRef
        On Error Resume Next

        ThisWorkbook.VBProject.References.AddFromGuid "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 1, 1
    End Sub

    Sub lsPesquisarCEPFaixa()
        'Inclui a referência se não houver
        lReferenciaIE
        
        Dim IE                  As InternetExplorer
        Dim lCidade             As String
        Dim lUF                 As String
        Dim lUltimaLinhaAtiva   As Long
        Dim lContador           As Long
        
        'Identifica a última célula ativa da lista
        lUltimaLinhaAtiva = Worksheets("Plan1").Cells(Worksheets("Plan1").Rows.Count, 1).End(xlUp).Row
        
        'Cria um objeto Internet Explorer
        Set IE = New InternetExplorer
            
        'Torna o objeto visível
        IE.Visible = True

        'Faz um loop por todas as linhas da planilha
        For lContador = 2 To lUltimaLinhaAtiva
            'Navega ao site dos correios
            IE.Navigate "http://www.buscacep.correios.com.br/sistemas/buscacep/buscaFaixaCep.cfm"
            
            'Identifica se a página já foi totalmente carregada
            While IE.ReadyState <> READYSTATE_COMPLETE
            Wend
            
            'Como a página possui JavaScript que cria os objetos que são preenchidos após a carga completa, é necessário
            'aguardar um tempo, coloquei 3 segundos, alterar conforme a necessidade.
            'Caso não tenha javascript na criação dos objetos da página comentar esta parte do código, pois será bem
            'mais rápida a execução.
            sng = Timer
            Do While sng + 3 > Timer
            Loop
            
            'Carrega os dados de cidade e UF que serão preenchidos na página
            lCidade = Range("B" & lContador).Value
            lUF = Range("A" & lContador).Value
            
            'Carrega os dados de cidade e UF na página e submente os dados do formulário
            IE.Document.all("Localidade").innertext = lCidade
            IE.Document.all("UF").Value = lUF
            IE.Document.forms("Geral").submit
          
            'Identifica se a página já foi totalmente carregada
            While IE.ReadyState <> READYSTATE_COMPLETE
            Wend

            'Como a página possui JavaScript que cria os objetos que são preenchidos após a carga completa, é necessário
            'aguardar um tempo, coloquei 3 segundos, alterar conforme a necessidade.
            'Caso não tenha javascript na criação dos objetos da página comentar esta parte do código, pois será bem
            'mais rápida a execução.
            sng = Timer
            Do While sng + 3 > Timer
            Loop
          
            'Faz um loop pelos objetos do tipo table na página e procura pelo campo Faixa(s) de CEP: preenchido.
            'Em seguida busca pela segunda coluna da linha de faixa de CEP e armazena esta informação diretamente na coluna C da linha
            'da planilha
            For Each i In IE.Document.body.getElementsByTagName("table")
                If InStr(i.innertext, "Faixa de CEP") > 0 Then
                    For Each l In i.getElementsByTagName("tr")
                        If InStr(l.innertext, lCidade) Then
                            Range("C" & lContador).Value = l.getElementsByTagName("td")(1).innertext
                        End If
                    Next l
                End If
            Next i
        Next lContador
        
        MsgBox "Concluído!"
    End Sub
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    Conceito Excel VBA para ser aplicado no Access Empty Re: Conceito Excel VBA para ser aplicado no Access

    Mensagem  Alvaro Teixeira 19/3/2018, 12:25

    avatar
    Nill2013Br
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 14/05/2013

    Conceito Excel VBA para ser aplicado no Access Empty Re: Conceito Excel VBA para ser aplicado no Access

    Mensagem  Nill2013Br 19/3/2018, 17:11

    ahteixeira

    Deu erro de compilação no arquivo que você me indicou. Meu pc é de 64 bits.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    Conceito Excel VBA para ser aplicado no Access Empty Re: Conceito Excel VBA para ser aplicado no Access

    Mensagem  Alvaro Teixeira 22/3/2018, 15:14

    Olá Nilton,

    Acho que compreendi mal a questão, pensei que era um problema de Referências no VBE
    Para consulta do CEP, não falta exemplos no fórum, efetue uma "Busca" aqui no fórum, como referi na mensagem anteriror, coloque na caixa busca cep

    Relativamente a não funcionar a regra é a mesma uma Busca no fórum, mas veja por exemplo tópico abaixo:
    https://www.maximoaccess.com/t10677-resolvidocodigo-64-bits

    Nota: O windows pode ser a 64bit, mas creio que o seu Office (Access), também seja a versão 64-Bit.
    Na "Ajuda" mostra a versão, mas também existe base de dados a mostrar, veja tópico abaixo:
    https://www.maximoaccess.com/t30239-obter-a-versao-do-access-instalado

    Abraço

    Conteúdo patrocinado


    Conceito Excel VBA para ser aplicado no Access Empty Re: Conceito Excel VBA para ser aplicado no Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 02:10