• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ログイン後他のページへ移動して表示保存)

ログイン後他のページへ移動して表示保存

このQ&Aのポイント
  • 自動ログイン後の他のページを表示してHTMLで保存する方法について教えてください。
  • 現在はhttps://www.aaaaaaa.comのHTMLをExcel上に表示していますが、https://www.aaaaaaa.com/bbに移動させて表示してHTMLで保存したいです。
  • XP/Excel2003で使用しています。

質問者が選んだベストアンサー

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

 頑張って コーディング されたみたいですが、3点ほど ミス があります。 1)先ず、小さなコトですが、Sub test() に対する End Sub が抜けています。  ついでに、 objIE.Navigate "https://www.aaaaaaa.com/bb"" は objIE.Navigate "https://www.aaaaaaa.com/bb" でしょうね。   2)次に、 strBody = objIE.document.body.innerHTML として、strBody という変数の中に「取得したもの」を代入したのに、その直後に strBody = InputBox("ファイル名を指定してください") として、同じ strBody という変数の中に "別のもの"(ファイル名)を代入してしまっています。  従って、後者の変数名は「strFileName」などに変えて strFileName = InputBox("ファイル名を指定してください") のようにし、これ以降の「strBody」は、すべて「strFileName」に置換してください。 3)最後に、[Open ステートメント] で ファイル を開いたまでは良かったのですが、何もせずに [Close ステートメント] で ファイル を閉じています。  したがって、 >空ファイルのみ作成されていました。 ということになります。  開いた ファイル に対して書き込む操作は [Print # ステートメント] になります。 Open strFileName For Output As intFileNum Print #intFileNum, strBody Close #intFileNum のようにしてみてください。

nana01010101
質問者

お礼

詳しく解説して頂きありがとうございました。 無事、ファイル化出来ました。 ありがとうございました。

その他の回答 (1)

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

>移動させ表示してhtmlで保存したい  「URL01」に ログイン した後に、普通に、 https://www.aaaaaaa.com/bb の ページ を Navigate すればよいかと。。。。 Sheets("Sheet1").Range("A1").Value = objIE.document.body.innerHTML End Sub の前に objIE.Navigate "https://www.aaaaaaa.com/bb" Call wait_open(objIE) を入れてみられたらいかがでしょうか?

nana01010101
質問者

お礼

無事、移動出来ました。ありがとうごいました。

nana01010101
質問者

補足

移動は教えて頂いた方法で解決できましたが、htmlで保存ですが下記の場合だと objIE.document.body.innerHTMLで取得したものはファイル化出来ないのでしょうか? 空ファイルのみ作成されていました。 ご教授頂けませんでしょうか?お願い致します。 Sub test() Dim objIE As Object Dim URL01 As String Dim intFileNum As Integer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True URL01 = "https://www.aaaaaaa.com" ID01 = "△△△△△△△" PASS = "○○○○○○○" objIE.Navigate URL01 Call wait_open(objIE) 'form.id部分はサイトのソースに合わせる objIE.document.all.ID.Value = ID01 'form.password部分はサイトのソースに合わせる objIE.document.all.PASS.Value = PASS Call wait_open(objIE) 'form部分はサイトのソースに合わせる objIE.document.LOGIN.submit Call wait_open(objIE) objIE.Navigate "https://www.aaaaaaa.com/bb"" Call wait_open(objIE) strBody = objIE.document.body.innerHTML intFileNum = FreeFile strBody = InputBox("ファイル名を指定してください") If strBody <> "" Then strBody = strBody & ".html" Open strBody For Output As intFileNum Close #intFileNum End If Sub wait_open(objIE) Do While objIE.Busy Loop Do While objIE.document.ReadyState <> "complete" Loop End Sub

関連するQ&A

専門家に質問してみよう