

下記の質問回答を参考にし、複数のWebページをHTML形式で保存することを行っていました。
が、IEのバージョンが上がりタブブラウザが本格的になるとこの方法が通用しなくなってしまいました。
その後はごまかしながら旧IEバージョンを用いて取り込みをしているのですが、さすがにそろそろ限界になってきた次第です。
どなたか直近のIEのバージョンでも対応可能な方法をご存知でしょうか?
https://oshiete.goo.ne.jp/qa/4253824.html
http://www.ken3.org/vba/backno/vba120.html
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんばんは。
>もちろんWebサイトを直接コピーしてExcelシートに貼り付け、という方法は私も存じております。が、それではちょっと難しいのです。
>.filesフォルダの中にある画像(商品価格を画像にしたもの)を取り出す、ということをしたいのです。
えっ! それは、ここのスレでは一度もでていない話だと思います。
まったく違う内容だと思いますが。むろん、私なら、VBAで可能かもしれませんが、あえて面倒なことをする気にもなりません。
ダウンローダーを使えば、何十個でも、何百個でも、種別に選別して数分でダウロードできます。
以下はアマゾンサイトのあるページを、ダウンローダーでみたjpg/pngのファイル一覧です。
「ダウンローダー フリー」とでもググればいくつか出てきます。たぶん、ソフトウェアには、Malware は入っていないと思いますが、この種のものは、余計なものをインストールされることがありますから、十分に気をつけてインストールしてください。

No.2
- 回答日時:
#1の補足です。
後々、また考えてみましたが、IEをVisible(表示)しているという点で、それを見る側にとっては、なんとも、無駄なことをしているように思えます。もちろん、このコードの作者は、ユーザーに確認させるためで、いきなり、Visible =False にはしないという暗黙的なルールに則っているだけです。それゆえ、Tabでひとまとめにできないのか、と思ったのではないでしょうか?
ご希望通りに、確かにTabで、ひとまとめにはできるのですが、実際のアクセスの段階では、別々(IEオブジェクトが複数)になってしまうようです。IEの立ち上げから、タブを一つ一つと開けます。そしてループでダウンロードも可能なのですが、よく考えてみれば、その元のURLは、複数あって、それを単にIEを複数にするのか単独でするかの違いなのです。(この説明ではよく分からないかもしれません。)
#1では、けんもほろろに回答してしまいましたが、おっしゃっている意図は分かるのですが、それをすることによって、ほんのちょっとの違いと、場合によっては、IEのハングということをもたらす可能性はないとは言えないのです。
反対の例としては、Evernoteを始め、同様の昨今のツールは、単独で、サイトを複数を取得するわけではありません。確か、昔、Web自動巡回という便利なソフトウェアがありましたが、あれも癖もので、不要なものも多く撮ってくるという始末の悪いものでした。後々、とても見きれるレベルではありませんでした。
もう一度、考えなおしてみてください。
なお、私個人は、複数よりもHTMLではなく、必要な情報をVBAで抜き出すということを考えます。
No.1
- 回答日時:
こんばんは。
>IEのバージョンが上がりタブブラウザが本格的になるとこの方法が通用しなくなってしまいました。
何が、通用しないのでしょうか?
いろいろと検証してみましたが、タブ・ブラウザだから、いままでのコードがダメだという理由が良く分からないのです。しばらく、グーグルで、MSDNやら他の英語サイトも読んでみましたが、未だIEのタブ・コントロールというメソッドは、どうやら存在しないようなのですし、タブ・コントロールのタイプライブラリも公では見当たりません。むろん、それなりには、私自身、プログラムでタブの切り替えは可能です。
しかし、本来の目的である、HTMLのダウンロードとは直接関係のない問題です。言い換えると、タブ・コントロールすること自体が、あまり意味があることではない、ということに気が付きました。
ユーザーが任意で開いた複数のサイトを全てHTMLで保存するコードということであれば、また、話は違ってきますし、それなりには考えますが、リンク先のコードは、そのような趣旨ではありません。
>ごまかしながら旧IEバージョンを用いて取り込みをしているのですが、
前の人たちのログも読みましたが、HTMLのダウンロードに関しては、基本的には、前も現在も変わらないものというしかありません。
実際、HTMLでダウンロードすること自体は、コードを読んで分かる通り、コードの最初からサイトのURLの設定になっているのですから、それぞれのIEオブジェクトですればよいことで、仮に、それをタブで切り分けたところで、やることはほとんど同じです。何が問題になっているのか、今ひとつ理解できませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
コントロールの書式設定で、“コ...
-
コモンダイアログコントロール...
-
「アイテムは収集されました」...
-
エクセルで作った新しいウイン...
-
マインクラフト(pc版)で座標...
-
VBでのハンドルの使い方
-
[VB.net] DataGridViewの列ヘッ...
-
メッセージボックスを大きくす...
-
ゲームでは結局どっちが良いの?
-
検索の画面がでなくなってしま...
-
jw-cadにBMP画像を貼り付けまし...
-
C言語による楕円関数の記述
-
Excelの上下を固定したい
-
C# ウィンドウハンドルの取得
-
グラフの交点の求め方(Excel)
-
非アクティブのウィンドウを最...
-
ボタンの表示の色、フォントを...
-
【C#】別フォームも同時に閉じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
スピンボタンを右クリックして...
-
コモンダイアログコントロール...
-
連続で印刷すると画像が更新さ...
-
ActiveXコントロールを.NETにイ...
-
VB6でタブコントロールが見つか...
-
EXCELVBA リストボックスで選択...
-
エクセル - リストボックスのマ...
-
フォームでPDFを表示させた...
-
警告表示を非表示にしたい
-
Accessのタブコントロールを2...
-
ワードのドロップダウンリスト
-
MFC・ダイアログベースで、ダイ...
-
リストコントロール(MFC or API...
-
リストボックスの同期
-
プロパティシートのタブの名前...
-
Excel VBAでのMultipageの選択
-
TabControlとToolBarの背景色変更
おすすめ情報
少々言葉足らずだったかもしれませんが・・・
もちろんWebサイトを直接コピーしてExcelシートに貼り付け、という方法は私も存じております。が、それではちょっと難しいのです。
目的として何がしたいのかというと、対象のページをHTML形式で保存することによって一緒にくっついてくる.filesフォルダの中にある画像(商品価格を画像にしたもの)を取り出す、ということをしたいのです。
極端な話、その目的の画像だけをWebから取り出せればそれでいいのですが、手っ取り早い方法が上記だったわけで。
とはいえ、現状ではかなり難しそうですね。
確かに、目的を考えると趣旨が異なっていたかもしれません。
問題だったのは必要な画像が価格表示する為に都度生成されるようで、
ただ単にダウンローダやExcelVBAで対象ファイルのURLからコピーする方法では通用しなかった、というのがあります。
色々と思案した結果、下記の方法で落ち着きました。
IEを操作してページをExcelシートに全コピー
↓
画像の代替テキストに書かれているURLに条件である「.aspx」があるものを探す
↓
見つかったらその画像を別シートにコピー
結局のところ事故解決ですが、WindFaller様、色々とご回答ありがとうございました。