HTML 要素を抽出するにはどうすればいいですか?

HTML 要素を抽出するにはどうすればいいですか?

このような div が数百個あり、並べ替えとフィルタリングが必要です。

すべての HTML を削除して、次の部分だけを残したいと思います。

  • 名前= キース
  • Eメール= [メールアドレス][メールアドレス][/Eメール]
  • = ストア 1 (これには 2 つのオプションしかありません。ストア 1、ストア 2)

以下のコードはすべて個別のセル内にあるため、セルは約400個あります。

<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>

これは Excel でも可能ですか? ご指導いただければ幸いです。

答え1

残念ながら、あなたの質問には詳細が欠けているため、答えるのが難しくなります。

セルは同じ形式ですか? 変更されるのは HTML ですか、それとも値だけですか。常に名前、メール、ストアを検索していますか? 改行は同じ場所にありますか? また、ワークシートの数式または VBa を使用するかどうかについても言及されていません。

あなたが示した例に基づくと、この VBa は基本的な機能を実行するか、少なくとも開始するのに十分な機能を提供するはずです。

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

マクロは元に戻せないので、必ず最初に作業のコピーをバックアップとして保存してください。

答え2

少し遅れましたが、自分自身で答えが必要だったので、VBA を使わずに手動で実行する必要がありました。ネストされた置換を使用するだけで、VBA 以外のユーザーでも簡単に実行できます。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE([@Description],"<html-blob>",""),"gt;",""),"</i>",""),"<i>",""),"</html-blob>",""),"</a>",""),"amp;",""),"<br />",""),"</span>",""),"&nbsp",""),"<a href=",""),"</b>",""),"<span>",""),"<br>",""),"<b>",""),"</u>",""),"<u>","")

これを使用するには、ソース データの「[@Description]」を交換します。

さらに追加するには、次のように中央の置換関数をコピーするだけです。

SUBSTITUTE([@Description],"<html-blob>","")

これを数式のソースに貼り付けます。ここでは「[@Description]」です。これは、テーブルで使用したためです。重複する置換を変更します。

関連情報