0

HTMLコードを取り除き、Excelのさまざまな列に入力するのを手伝ってくれる人はいますか?

たとえば。私のHTMLコードが次の場合:

<p></p>10-16-2013 22:35<br/>I love pizza! Ordering was a breeze!<p></p>10-16-2013 13:19:46<br />this has time stamps too!<p></p>10-21-2013 11:55<br />This is a test<br />

このようにExcelで別の列として出力するにはどうすればよいですか?

 Column A               Column B
 10-16-2013 22:35       I love pizza! Ordering was a breeze!
 10-16-2013 13:19:46    this has time stamps too!
 10-21-2013 11:55       This is a test

誰かが私を助けることができれば、非常に感謝します!

4

1 に答える 1

0

HTML の解析には、次の 3 つのオプションを試すことができます。

  1. mehow が示唆するように、InStr、Mid、および/または Replace を組み合わせます。

  2. VBScript の RegExp ライブラリを使用します。[ツール] ---> [参照] をクリックし、[Microsoft VBScript 正規表現 5.5] の横にあるボックスをオンにして、VBA プロジェクトに含める必要があります。正規表現は非常に強力なテキスト解析ツールですが、構文に慣れるには時間がかかります。このパターンにより、日付/コメントをサブマッチとして取得できることがわかりました: <p></p>([^<]*)<br />([^<]*)。その例を完全な Web ページから引き出していると想定しているため、探している部分と正確に一致するようにそのパターンを微調整する必要があります。 このサイトには、VBScript RegExp ライブラリの使用に関する優れたチュートリアルがあります。

  3. より高いレベルの HTML パーサーを使用してください。[ツール] ---> [参照] をクリックし、[Microsoft HTML オブジェクト ライブラリ] の横にあるボックスをチェックして、VBA プロジェクトに追加できる MSHTML ライブラリをお勧めします。このパーサーは、HTML の段落、改行、表などの構造を認識します。

私の意見では、時間をかけて学習したい場合は、正規表現が最善の策です。InStr/Replace メソッドは、Web ページ コンテンツの変動性を考慮できない可能性があり、HTML メソッドは、特に例の HTML に書式設定がないことを考えると、やり過ぎになる可能性があります。

解析したら、Excel ワークシートと Range オブジェクトを使用して、質問の 2 番目の部分に取り組むことができます。wehow が指摘したように、いくつかのコードをまとめることができれば、支援が容易になります。

于 2013-10-21T22:23:26.917 に答える