質問: 【Excel VBA : フォーム内のテキストを抽出しリスト化したい】 とあるWebページのデータをExcelにコピペした際に、 「入力フォーム」の状態で一部のデータがペーストされます。(添付図の1) ですが、この状態ではテキストデータとして読み取れないため、 ・入力フォーム内のテキストを抽出 ・入力フォーム自体を削除 この2点を実行しテキストデータのリストに変更したいです(添付図の2) VBAなどを利用して何か良い方法はありませんでしょうか? --- ※ペーストする際に「形式を選択 → テキスト」を選択すると、 テキストデータのレイアウトがぐちゃぐちゃにペーストされてしまうためNGです。 --- ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/a5e6dc40018cd4ca55ea11b82d9fe0b9.png) どうぞよろしくお願いします!
回答: IEのページを張り付けると、Webページ内のテキストボックスやドロップダウンリストが自動的に、Excelシートに貼り付けれます。 このときのテキストボックスは、HTMLTextというデーター型の特別なデーターとして自動的に貼り付けられ、そのデータを参照する名前はExcelが自動的に決定されるようです。ちなみにドロップダウンリストは、HTMLSelectというデーター型のデータとして貼り付けます。 図の例では、1には、4つのテキストボックスがありますが、Excelが勝手に名前を付けますので、どの名前がどのテキストボックスかわかりません。 例えば、一番左のテキストボックスは、HTMLText1なのかHTMLText4なのか、またExcelのバージョンが変わったら名前の付け方が変わるかもしれません。 さらに、シート内のHTMLTextデータの名前を自動的に探すことができたとしても、そのテキストボックステキストボックスはセルではないので、そのプロパティとして座標位置しかありません。すなわち、それがどのセルに対応するかわかりません。 各HTMLTextデータをアクセスするための名前と対応するセル位置がわからないので処理はできません。