- 締切済み
.vbsのエラーの対処方法
- みんなの回答 (9)
- 専門家の回答
みんなの回答
- kmetu
- ベストアンサー率41% (562/1346)
> 忘れてしまった自分のIDに対するPWを復活させてくれるプログラムの様です。 復活できれば正常に動いているのでしょうし 出来なければ動いていないのですから作者に問い合わせましょう。
- kmetu
- ベストアンサー率41% (562/1346)
> やってみたらエラーは出なくなったのですが、ちゃんと動作しているかどうかが 分かりません。確認する方法があれば教えてください。 どのような動作をするのが正しいVBSか不明なので (ソース一行で分かる人は誰一人いません) こちらで確認する方法を回答することは出来ません。 どのような仕様なのかをご自身で判断して、そのように動作してるかを ご自身で判断するしかないでしょう。 どのように動くのが正常なのかは判断できますよね。
補足
myPAGE = "http://top.hangame.co.jp/logout/index.nhn" '"http://www.hangame.co.jp/" Set myIE = CreateObject("InternetExplorer.application") myIE.Visible = True myIE.Navigate myPAGE mySTOP(myIE) '読み込むまで待つ Set myFS = CreateObject("Scripting.FileSystemObject") With myFS.GetFile("C:\Users\Owner\Documentsアイデパス.txt").OpenAsTextStream '---------------------------------------------------- Do If .AtEndOfLine Then Exit Do 'データ終了で脱出 myID = .ReadLine '1行読み込み myPS = Mid(myID, InStr(1, myID, "+") + 1) myID = Mid(myID, 1, InStr(1, myID, "+") - 1) myIE.Document.forms(1).id.Value = myID myIE.Document.forms(1).ps.Value = myPS myIE.Document.forms(1).submit mySTOP(myIE) '読み込むまで待つ If myIE.Document.forms(1).id = undefined Then Msgbox "通過しました" wscript.quit End If myIE.Navigate myPAGE '元のページに戻る mySTOP(myIE) '読み込むまで待つ Loop .Close 'クローズ End With msgbox "最後までおわりました" '---------------------------------------------------- Sub mySTOP(myIE) 'まちあわせる共通処理 Do If myIE.Busy = False Then Exit Do Loop Do If myIE.readyState = 4 Then Exit Do Loop End Sub >どのような仕様なのか 忘れてしまった自分のIDに対するPWを復活させてくれるプログラムの様です。
- kmetu
- ベストアンサー率41% (562/1346)
No.6です 訂正 If myIE..readyState = 4 Then Exit Do ↓ If myIE.readyState = 4 Then Exit Do
補足
回答有難うございます。 やってみたらエラーは出なくなったのですが、ちゃんと動作しているかどうかが分かりません。確認する方法があれば教えてください。
- kmetu
- ベストアンサー率41% (562/1346)
If myIE.Document.readyState = "complete" Then Exit Do を If myIE..readyState = 4 Then Exit Do にしてみてください。
- imogasi
- ベストアンサー率27% (4737/17069)
http://questionbox.jp.msn.com/qa2592462.html などを見ると IE.ReadyState を判別するのは文字列"Complete"では無く、システム定数の READYSTATE_COMPLETE なのかもしれない。 上記にもあるが Do Until myIE.ReadyState = 4 '(事前バインディングなら、[READYSTATE_COMPLETE]) を考えては。 ーー またGoogleで「READYSTATE_COMPLETE」で照会すると相当記事が出ます。
お礼
回答有難うございます。 39行目を Do Until myIE.ReadyState = 4 ' にしたらエラーが出なくなりました。 しかし、その後空っぽのIEが起動しただけでちゃんと処理が行われているのかが分かりません。確認する方法などありませんでしょうか?
- kmetu
- ベストアンサー率41% (562/1346)
39行目だけ見せていただいても分かりませんし 全部見せていただいても IEから準備完了が帰ってきて動作を決定(ループを抜ける)してますから なのかしらIEとの間でエラーになってるのかもしれません。 その近辺を整理して Do While myIE.Document.ReadyState <> "complete" DoEvents Loop とかに変更したらエラーにならないかもしれませんが なんともいえません。
お礼
回答有難うございます。 アドバイスのようにやってみましたが、何ともなりませんでした。
- rivoisu
- ベストアンサー率36% (97/264)
エラーです。 エラーの種類を特定できないということでしょう。 行番号はそこでエラーになったというだけでエラー自体はその近くにある場合もありますのでその行だけ提示しても分からないと思います。 例えば39行目のコードが示してありますが そのIfに対応するEnd Ifがなければ39行目がエラーになります。(これはちがうと思いますが) ところで myIE.Document.readyState このプロパティはStringですか?
補足
回答有難うございます。 End If と書いてあるところはありました。 >ところで >myIE.Document.readyState >このプロパティはStringですか? その文字列が含まれているところは以下の様にありました。 If myIE.Document.readyState = "complete" Then Exit Do 宜しく願いします。
- osamuy
- ベストアンサー率42% (1231/2878)
「パス閲覧」とかいう名前が付いているのに、パスが閲覧できてるように思えないから、なんか異常っぽいですが、そういうものかもしれないので、判断不能といわざるを得ないかと。 このVBSファイルを作った人に尋ねてみるのが確実ですが、他に頼れる人がいないなら、パス閲覧.vbsの内容(とくに39行目あたり)をさらしてみては。
お礼
回答有難うございます。 #1様の補足欄に39行目を書いておきました。 宜しく願いします。
- kmetu
- ベストアンサー率41% (562/1346)
エラーとなってますからエラーだと思われます 39行目にエラーがありますのでメモ帳などで開いて修正してください
補足
回答有難うございます。 39行目は以下のようになっています If myIE.Document.readyState = "complete" Then Exit Do 宜しく願いします。
お礼
回答有難うございます。 復活できていないようです。ソフト制作者に問い合わせてみます。