こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBSで、気象庁のサイトから地震情報を持ってきてM

VBSで、気象庁のサイトから地震情報を持ってきてMsgboxに表示させたいのですが、出来ますか?

投稿日時 - 2017-11-13 16:28:01

QNo.9396954

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

>気象庁のサイトから地震情報を持ってきてMsgboxに表示させたいのですが
With CreateObject("Internetexplorer.Application")
  .Visible = False
  .Navigate "http://www.jma.go.jp/jp/quake/"
  Do While .Busy = True Or .ReadyState <> 4
    WScript.Sleep 250
  Loop
  MsgBox .document.getElementsByTagName("table")(3).innerText
  .Quit
End With

投稿日時 - 2017-11-16 22:43:42

ANo.4

No.3ですが、改めて確認してみるとIEのプロセスが残りますね。
最後に
IE.Quit
を加えてください。

投稿日時 - 2017-11-15 01:24:10

ANo.3

http://www.jma.go.jp/jp/quake/
より地震情報部分のHTMLのみ抜き出すコードです。
拡張子を「.vbs」で保存して実行すると動作するかと思います。
私の環境では動作確認できました。
改行タグなども含むので、それらが邪魔ならそれを除くコードが必要です。
また、気象庁がサイトの仕様を変更したり、表示される年号が変わると動作しなくなります。
--------------------------
Option Explicit
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False
IE.navigate "http://www.jma.go.jp/jp/quake/"
Do While IE.Busy = True Or IE.readyState <> 4
WScript.Sleep 100
Loop
Dim html, reg, match
html = IE.Document.Body.InnerHtml
Set reg = new RegExp
reg.pattern = "平成(.*)。"
Set match = reg.execute(html)
if match.count > 0 then
msgbox match.item(0)
end if

投稿日時 - 2017-11-14 17:37:47

ANo.2

気象庁のサイトのURLぐらい、読者のために掲示するのが常識だろう。
ーー
そのサイトをVBS(エクセルVBA?)で表示するコードはたくさん見つかる。そこまではやったのかな。
ーー
あとは、その画面のソースに出てくるHTML文の処理(目的の箇所を見つける)になるが、背景知識などが必要だと思うの(ここで説明していては大変)で、まず勉強をしないで、丸写しでやりたいというのは、勝手すぎるのでは。
ーー
Amazonなどで、近年
Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応 単行本
近田 伸矢 (著),‎ 植木 悠二 (著),‎ 上田 寛 (著)
ーー
IEを自在に操るExcelVBAプログラミング入門 単行本
増田 智明
の2本(多分これしかない)が出ているから勉強するほかないだろう。

投稿日時 - 2017-11-14 11:22:51

ANo.1

その気象庁のサイトというのにアクセスできるのなら,できますよ。

投稿日時 - 2017-11-13 22:29:37