

下記の質問回答を参考にし、複数の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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) 重複したデータ(空白は除く)のVBA表記について 5 2022/08/15 12:41
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- ドライブ・ストレージ HDDとSSDどちらがいいか 7 2023/07/27 19:58
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
ダイアログボックスのボタンコ...
-
ダイアログを継承したダイアロ...
-
ActiveXコントロールを.NETにイ...
-
スピンボタンを右クリックして...
-
VB.Net Tabコントロール中のす...
-
コモンダイアログコントロール...
-
アイテムを点滅させる
-
【C#】フォームの値を保存して...
-
フォームでPDFを表示させた...
-
TabControlとToolBarの背景色変更
-
ダイアログのスクロールバー
-
TabControlが変る瞬間イベント
-
連続で印刷すると画像が更新さ...
-
VB6.0のデザイン時 コントロー...
-
C#.NETでのCOMコンポーネント作...
-
VScrollBarの点滅を何とかしたい。
-
リストコントロール(MFC or API...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
スピンボタンを右クリックして...
-
ActiveXコントロールを.NETにイ...
-
コモンダイアログコントロール...
-
フォームでPDFを表示させた...
-
CEdit の内容が変わった時にメ...
-
連続で印刷すると画像が更新さ...
-
EXCELVBA リストボックスで選択...
-
regsvr32でActiveX登録を行ったocx
-
TabControlとToolBarの背景色変更
-
ダイアログボックスのボタンコ...
-
Excel VBAでのMultipageの選択
-
エクセル - リストボックスのマ...
-
VB6でタブコントロールが見つか...
-
ワードのドロップダウンリスト
-
空のリストビューで1行おきに...
-
C#でChartコントロールを...
-
警告表示を非表示にしたい
おすすめ情報
少々言葉足らずだったかもしれませんが・・・
もちろんWebサイトを直接コピーしてExcelシートに貼り付け、という方法は私も存じております。が、それではちょっと難しいのです。
目的として何がしたいのかというと、対象のページをHTML形式で保存することによって一緒にくっついてくる.filesフォルダの中にある画像(商品価格を画像にしたもの)を取り出す、ということをしたいのです。
極端な話、その目的の画像だけをWebから取り出せればそれでいいのですが、手っ取り早い方法が上記だったわけで。
とはいえ、現状ではかなり難しそうですね。
確かに、目的を考えると趣旨が異なっていたかもしれません。
問題だったのは必要な画像が価格表示する為に都度生成されるようで、
ただ単にダウンローダやExcelVBAで対象ファイルのURLからコピーする方法では通用しなかった、というのがあります。
色々と思案した結果、下記の方法で落ち着きました。
IEを操作してページをExcelシートに全コピー
↓
画像の代替テキストに書かれているURLに条件である「.aspx」があるものを探す
↓
見つかったらその画像を別シートにコピー
結局のところ事故解決ですが、WindFaller様、色々とご回答ありがとうございました。