• ベストアンサー

エクセルのVBAでWEBページの更新

エクセルのVBAで現在表示されているWEBページの更新は可能でしょうか?

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

  • ベストアンサー
回答No.3

それでは Set oIE = GetObject(, "InternetExplorer.Application") を Set oIE = GetObject("", "InternetExplorer.Application") に変えて試したらどうなりますか? それでもダメなら 以下のコードを試して下さい。 Sub Macro2() Dim oSH As Object Dim oIE As Object Set oSH = CreateObject("Shell.Application") For Each oIE In oSH.Windows If oIE.FullName Like "*Internet Explorer*" Then oIE.Refresh End If Next Set oSH = Nothing End Sub これでダメなら私では、お役に立てないです。 ちなみに、WinXP、Excel2002、IE6 ではうまく動いています。

oneforall
質問者

お礼

お礼が遅くなり申し訳ありません。 うまくいきました。ありがとうございました!!

その他の回答 (2)

回答No.2

>何か設定の違いでしょうか・・・? とくに設定などは必要ないはずですが・・・ >ActiveXコンポーネントはオブジェクトを作成できません InternetExplorerを開いた状態で試していますか? IEを開いていないとそのようなエラーになりますけど・・・。 もう少し詳しく状況を説明してもらわないと、 質問や補足の文章から原因を特定するのは難しいです。

oneforall
質問者

補足

回答ありがとうございます。 ForestRain様の例文をVBEにコピペして、IEを一枚開いた状態で実行してみたのですが前述のようなエラーが出てしまいました。 ちなみに私が使用しているのは、EXCEL2003ですがそのあたりでも何か変わってしまうのでしょうか? 素人質問で申し訳ないです。。。

回答No.1

こんにちは。 WEBブラウザがInternetExplorerであれば、 GetObject 関数で可能でしょう。 Sub Macro1() Dim oIE As Object Set oIE = GetObject(, "InternetExplorer.Application") oIE.Refresh Set oIE = Nothing End Sub IEが複数開かれている場合は1番目に開いたIEを更新します。 またIEが開かれていない場合の事は考慮してません。

oneforall
質問者

補足

回答ありがとうございます。 早速試してみましたが、”Set oIE = GetObject(, "InternetExplorer.Application") ” でエラーが出てしまいます。 エラーナンバー429 ActiveXコンポーネントはオブジェクトを作成できません とでます。 何か設定の違いでしょうか・・・?よろしくお願いします

関連するQ&A