- 締切済み
マクロについて。
エクセルのマクロを使ってwebページを一定間隔で自動更新したいのですがどうやったらできるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yyr446
- ベストアンサー率65% (870/1330)
<== Dim waitTimeの後の秒数記入ですが直接数字を打ち込むだけでよいのでしょうか?5秒の場合Dim waitTime5という感じに。 ==> 違います。Dim waitTimeは変数宣言です。無くても動くのですが 正しくは、Dim waitTime As Integer ぐらいでよいかな。 セットしているのは、 waitTime = 5 の部分です。urlのセットも同様です。 <== Sub ie_auro_update()が構文エラーになってしまうようです。 ==> エクセルのマクロ(VBA)標準モジュールに記述しているのですよね? デバッグでどの行がエラーになっているかわかりませんか? 以下のコーディングならOption Explicitつけても構文エラー出ない はずなんですが....VISTA/IE7を使っているとか? <以下ソース> Option Explicit Private Sub ie_auro_update() Dim waitTime As Integer Dim url As Variant Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True url = "http://www.google.co.jp/" objIE.Navigate2 (url) Do While objIE.readyState <> 4 DoEvents Loop waitTime = 5 Do Start = Timer Do While (Timer < Start + waitTime) DoEvents Loop objIE.Navigate2 (url) Loop End Sub
- yyr446
- ベストアンサー率65% (870/1330)
ブラウザー画面の自動更新(リロード)をVBAでやりたいのですね 以下のコードでwaitTimeに更新間隔(秒)、urlに表示したいページ をセットすれば、IEが起動して、指定した間隔毎にリロードします。 (※IE6.0用です、IE7.0はだめです) (※止める機能を実装してません。マクロBreakキーで止めます) ご参考までに。 Sub ie_auro_update() Dim waitTime Dim url Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True url = "http://www.google.co.jp/" objIE.Navigate2 (url) Do While objIE.readyState <> 4 DoEvents Loop waitTime = 5 Do Start = Timer Do While (Timer < Start + waitTime) DoEvents Loop objIE.Navigate2 (url) Loop End Sub
- yyr446
- ベストアンサー率65% (870/1330)
そのWebページが存在するWebサーバーでEXCELを動かすのですか? それとも、一定間隔でWebページをWebサーバーにアップロードするのですか? あるいは、複数のWebページが準備されていて自分が、EXCEL経由で そのページを見るとき、表示されるページを変えたいということですか?
補足
webページを表示している状態でCtrl+Rを押すと更新されますよね? それを使って一定間隔で無人の状態でも自動更新されるようにしたいのです。 んー、何と答えればいいのかよくわからなくて^^;
補足
返答ありがとうございます。 上記で試してみたところ Sub ie_auro_update() が構文エラーになってしまうようです>< また Dim waitTime の後の秒数記入ですが直接数字を打ち込むだけでよいのでしょうか? 5秒の場合 Dim waitTime5 という感じに。 たびたびすみません~。