• 締切済み

Frameから取得

Frameから取得  --------- Frame1  --------- Frame2 |Feame3      |      | 上記の構成のWEBページでFrame2の部分のHHMLをExcelへコピーさせるVBAをご教授頂けませんでしょうか? お願いいたします。           

みんなの回答

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

>上記の構成の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 は書けないかも知れません。

関連するQ&A