プロが教えるわが家の防犯対策術!

以前
http://okwave.jp/qa3460010.html
で質問させていただいたものです。
一定時間ごとに首都高速の渋滞データを取れるようなプログラムについて質問いたしました。
そこでanotherone様が作ってくださったプログラム

http://beauty.geocities.jp/chirinuruwowahe/VBS_S …

なのですが、一定時間ごとのデータは取れるものの、データが更新されておらず、同じデータが得られてしまいます。(渋滞情報の中身が不変)
そこでプログラムを改造させていただき、道路交通情報センターが更新した最新の情報を取得できるようにしようと試みたのですが、私の知識では到底及びも着かないものであったため、再度質問させていただきました。分かる方いらっしゃいましたら、ご回答お願いいたします。
(可能であればanotherone様の再回答を願います)

A 回答 (4件)

'========================================================


URL = "http://www.jartic.or.jp/traffic/highway/kousoku/ …
'http://www.jartic.or.jp/traffic/highway/kousoku/ …
Path = "画像.gif"
MACHI = 1000 * 60 * 5
'実行の間隔(ミリ秒) 1,000ミリ秒*60*5 = 5分間隔(300,000ミリ秒)
CNT = 12 * 8
'実行回数を指定  5分*12回 1時間 8時間なら 12 * 8
'========================================================


Set myIE = CreateObject("InternetExplorer.Application")
myIE.Navigate URL
FLD = Replace(WScript.ScriptFullName, WScript.ScriptName, "\")
Set CDOMessage = CreateObject("CDO.Message")

For i = 1 to CNT
Set BodyPart = CDOMessage.AddAttachment(URL)
TT = Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_"
TT = TT & Hour(Now) & "_" & Minute(Now) & "_" & Second(Now)
BodyPart.SaveToFile FLD & TT & Path

Set BodyPart = Nothing
WScript.Sleep(MACHI)

myIE.Refresh
Do Until myIE.Busy = False
WScript.Sleep(500)
Loop
Next
myIE.Quit
Set myIE = Nothing
Set CDOMessage = Nothing
Msgbox "fin"


これに修正させてください

この回答への補足

anotherone様のプログラムが理想通りに動いてくれました。

今一度ご協力くださった皆様に御礼申し上げます。

本当にありがとうございましたっ!

補足日時:2007/10/28 22:02
    • good
    • 0
この回答へのお礼

anotherone様、再度のご回答まことにありがとうございます。
わざわざ私のようなしがない学生にご協力くださいまして、感謝以外にございません。
私もanotherone様のようにプログラミングに詳しくなるよう、参考書などを読み漁り覚えていきたいと思います。
お手数をおかけしてスミマセンでした、ありがとうございました。

お礼日時:2007/10/28 11:54

'========================================================


URL = "http://www.jartic.or.jp/traffic/highway/kousoku/ …
Path = "画像.gif"
MACHI = 1000 * 60 * 5
'実行の間隔を ミリ秒で指定  1,000ミリ秒*60*5 = 5分間隔(300,000ミリ秒)
MACHI = 1000 * 60 * 5
'テストで2秒ごとに実行 実際は上の行を削除してください
CNT = 12 * 1
'実行回数を指定  5分*12回 1時間 8時間なら 12 * 8
'========================================================


FLD = Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "\"
Set CDOMessage = CreateObject("CDO.Message")

For i = 1 to CNT
Set BodyPart = CDOMessage.AddAttachment(URL)
TT = Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_"
TT = TT & Hour(Now) & "_" & Minute(Now) & "_" & Second(Now)
BodyPart.SaveToFile FLD & TT & Path
WScript.Sleep(MACHI)
Next
Msgbox "fin"

Function FileSaveAs(Path)
On Error Resume Next
Set FileSaveDlg = CreateObject("SAFRCFileDlg.FileSave")
On Error GoTo 0
If IsEmpty(FileSaveDlg) Then
FileSaveAs = Path
Exit Function
End If
FileSaveDlg.FileName = Path
FileSaveDlg.FileType = "すべてのファイル(*.*)"
If FileSaveDlg.OpenFileSaveDlg() Then FileSaveAs = FileSaveDlg.FileName
End Function






これに変えてください
5分で画像が変化したことを確認しました すいませんでした
    • good
    • 0

ちょっとまだダメなようです‥


すいません
    • good
    • 0

vbsは弄った事ないんで全くわかりませんが‥


このままだとキャッシュを読み込んでるみたいなんで
画像ファイルを作成する時に読む込むようにしてみました
時間は5分に一回に設定してあります
下のコードをメモ帳にコピーしてVbsSaveImage.vbsの名前でフォルダに保存して下さい
 
anotherone様 少々改造させて頂きました


'========================================================
URL = "http://www.jartic.or.jp/traffic/highway/kousoku/ …
Path = "画像.gif"
MACHI = 1000 * 60 * 5
'実行の間隔を ミリ秒で指定  1,000ミリ秒*60*5 = 5分間隔(300,000ミリ秒)
'MACHI = 1000 * 3 * 1
'テストで2秒ごとに実行 実際は上の行を削除してください
CNT = 12 * 1
'実行回数を指定  5分*12回 1時間 8時間なら 12 * 8
'========================================================


For i = 1 to CNT
FLD = Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "\"
Set CDOMessage = CreateObject("CDO.Message")
Set BodyPart = CDOMessage.AddAttachment(URL)
TT = Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_"
TT = TT & Hour(Now) & "_" & Minute(Now) & "_" & Second(Now)
BodyPart.SaveToFile FLD & TT & Path
WScript.Sleep(MACHI)
Next
Msgbox "fin"

Function FileSaveAs(Path)
On Error Resume Next
Set FileSaveDlg = CreateObject("SAFRCFileDlg.FileSave")
On Error GoTo 0
If IsEmpty(FileSaveDlg) Then
FileSaveAs = Path
Exit Function
End If
FileSaveDlg.FileName = Path
FileSaveDlg.FileType = "すべてのファイル(*.*)"
If FileSaveDlg.OpenFileSaveDlg() Then FileSaveAs = FileSaveDlg.FileName
End Function
    • good
    • 0
この回答へのお礼

gsx_rider様、ご回答ありがとうございます。
これを機に、私もvbsのプログラミングに興味を持ち始めました。
皆様のようにすらすらとプログラムが書けるようになる事を目標としたいと思います。
未だどの構文がどう意味を持っているのかははっきりとしませんが、皆様に少しでも近づけるよう、日々精進したいと思います。
ありがとうございました。

お礼日時:2007/10/28 11:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!