- 締切済み
Frameから取得
Frameから取得 --------- Frame1 --------- Frame2 |Feame3 | | 上記の構成のWEBページでFrame2の部分のHHMLをExcelへコピーさせるVBAをご教授頂けませんでしょうか? お願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DOUGLAS_
- ベストアンサー率74% (397/534)
>上記の構成のWEBページでFrame2の部分 ということですが、「上記の構成のWEBページ」の html コード が <html> <head>・・・</head> <frameset ***> <frame name="***" src="Frame1.html" ***> <frameset ***> <frame name="***" src="Frame2.html" ***> <frame name="***" src="Frame3.html" ***> </frameset> <noframes><body>***</body></noframes> </frameset> </html> みたいになっていたとすると、Q10Q10Q10 さんが「Excelへコピーさせ」たい「Frame2の部分のHHML」は「Frame2.html」の内容ということになります。 実際に、Excel 2003 で、[データ(D)] - [外部データの取り込み(D)] - [新しい Web クエリ(W)...] で、「Frame2の部分」を指定して、[取り込み(I)] する操作を、[ツール(T)] - [マクロ(M)] - [新しいマクロの記録(R)...] で記録すると With ActiveSheet.QueryTables.Add(Connection:= _ "URL;~~~/Frame2.html",Destination:=Range("A1")) というような コード が記録されます。 つまり、「元々の WEBページ」の アドレス ではなくて、「Frame2」の部分の アドレス が「Connection」の値として記録されます。 したがって、上記のように、 1)[データ(D)] - [外部データの取り込み(D)] - [新しい Web クエリ(W)...] で、「Frame2の部分」を指定して、[取り込み(I)] する操作を、[ツール(T)] - [マクロ(M)] - [新しいマクロの記録(R)...] で記録する か 2)「上記の構成のWEBページ」の html ソース から 当該 フレーム の アドレス を取得し、その アドレス の WEBページ を開いて「Frame2の部分のHHMLをExcelへコピーさせるVBA」を組む かのいずれかが簡単かと存じますが、いかがでしょうか? #最近では、フレーム のように見えてそうではないような WEBページ の作り方が幾通りもあるようですので、実際には、お尋ねの WEBページ の アドレス をお示しいただかないと、使える VBA は書けないかも知れません。