Como extrair elementos HTML?

0

Eu tenho algumas centenas desses divs, que eu preciso classificar e filtrar.

Gostaria de remover TODOS os HTML e ficar apenas com o seguinte:

Exemplo

  • Nome = Keith
  • E-mail = [email] [email protected] [/ email]
  • Armazenar = Loja 1 (Isso tem apenas 2 opções. Loja 1, Loja 2)

Todo o código abaixo está em uma única célula individual, então existem cerca de 400 células

<div userid=""286"">
    <div id=""694"">
        <h1 style=""display:none"">Keith</h1>
        <div>
            <label class=""ufo-cform-label"">Name</label>
        </div>
        <div>Keith</div>
    </div>
    <div id=""697"">
        <h1 style=""display:none"">[email protected]</h1>
        <div>
           <label class=""ufo-cform-label""> Email Address</label>
        </div>
        <div>[email protected]</div>
    </div>
    <div id=""698"">
        <h1 style=""display:none"">Store 1</h1>
        <div>
            <label class=""ufo-cform-label"">Please choose your closest store</label>
        </div>
        <div>Store 1</div>
    </div>
</div>

Isso é possível no excel? Obrigado por qualquer orientação.

    
por Keith Donegan 22.07.2014 / 07:08

1 resposta

0

Sua pergunta não tem muitos detalhes, infelizmente, uma resposta complicada.

As células estão no mesmo formato? É o HTML que muda ou apenas os valores. Você está sempre procurando por nome, e-mail e loja? A linha está quebrada no mesmo lugar? Você também não menciona se deseja usar uma fórmula de planilha ou VBa.

Baseado no exemplo que você deu, este VBa deve fazer o básico, ou pelo menos lhe dar o suficiente para seguir em frente.

Sub DoTheThingTheyWant()

Dim myValue As String
myValue = Range("A1").Value

Dim myValueSplit() As String
myValueSplit = Split(myValue, ">")

Dim nameSplit() As String


Range("B1").Value = "Name: " & GetValue(myValueSplit, 9)
Range("B2").Value = "Email: " & GetValue(myValueSplit, 13)
Range("B3").Value = "Store: " & GetValue(myValueSplit, 29)

End Sub


Function GetValue(myValueSplit() As String, pos As Integer)

Dim result() As String

result = Split(myValueSplit(pos), "<")

GetValue = result(0)


End Function

Lembre-se de salvar sempre uma cópia do seu trabalho como cópia de segurança, pois as macros não se desfazem !!

    
por 22.07.2014 / 08:08