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

締切り済みの質問

.vbsのエラーの対処方法

.vbsファイルを実行したら添付している写真のようなエラーが出ました。

こういった系統はあまり詳しくないのでこちらに投稿させていただきました。

これはエラーなのでしょうか?それとも正常に動いているのでしょうか?

ご回答よろしくお願いいたします。

投稿日時 - 2009-09-21 17:59:19

QNo.5307789

すぐに回答ほしいです

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

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

回答(9)

ANo.9

> 忘れてしまった自分のIDに対するPWを復活させてくれるプログラムの様です。

復活できれば正常に動いているのでしょうし
出来なければ動いていないのですから作者に問い合わせましょう。

投稿日時 - 2009-09-22 12:15:51

お礼

回答有難うございます。
復活できていないようです。ソフト制作者に問い合わせてみます。

投稿日時 - 2009-09-22 17:04:11

ANo.8

> やってみたらエラーは出なくなったのですが、ちゃんと動作しているかどうかが
分かりません。確認する方法があれば教えてください。

どのような動作をするのが正しいVBSか不明なので
(ソース一行で分かる人は誰一人いません)
こちらで確認する方法を回答することは出来ません。

どのような仕様なのかをご自身で判断して、そのように動作してるかを
ご自身で判断するしかないでしょう。

どのように動くのが正常なのかは判断できますよね。

投稿日時 - 2009-09-21 23:10:08

補足

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を復活させてくれるプログラムの様です。

投稿日時 - 2009-09-22 11:43:59

ANo.7

No.6です
訂正

If myIE..readyState = 4 Then Exit Do

If myIE.readyState = 4 Then Exit Do

投稿日時 - 2009-09-21 21:57:34

補足

回答有難うございます。

やってみたらエラーは出なくなったのですが、ちゃんと動作しているかどうかが分かりません。確認する方法があれば教えてください。

投稿日時 - 2009-09-21 22:39:36

ANo.6

If myIE.Document.readyState = "complete" Then Exit Do



If myIE..readyState = 4 Then Exit Do

にしてみてください。

投稿日時 - 2009-09-21 21:36:32

ANo.5

http://questionbox.jp.msn.com/qa2592462.html
などを見ると
IE.ReadyState を判別するのは文字列"Complete"では無く、システム定数の READYSTATE_COMPLETE なのかもしれない。
上記にもあるが
Do Until myIE.ReadyState = 4 '(事前バインディングなら、[READYSTATE_COMPLETE])
を考えては。
ーー
またGoogleで「READYSTATE_COMPLETE」で照会すると相当記事が出ます。

投稿日時 - 2009-09-21 20:05:01

お礼

回答有難うございます。
39行目を
Do Until myIE.ReadyState = 4 '
にしたらエラーが出なくなりました。

しかし、その後空っぽのIEが起動しただけでちゃんと処理が行われているのかが分かりません。確認する方法などありませんでしょうか?

投稿日時 - 2009-09-21 20:57:54

ANo.4

39行目だけ見せていただいても分かりませんし
全部見せていただいても
IEから準備完了が帰ってきて動作を決定(ループを抜ける)してますから
なのかしらIEとの間でエラーになってるのかもしれません。
その近辺を整理して
  Do While myIE.Document.ReadyState <> "complete"
    DoEvents
  Loop
とかに変更したらエラーにならないかもしれませんが
なんともいえません。

投稿日時 - 2009-09-21 19:12:42

お礼

回答有難うございます。
アドバイスのようにやってみましたが、何ともなりませんでした。

投稿日時 - 2009-09-21 20:56:23

ANo.3

エラーです。
エラーの種類を特定できないということでしょう。
行番号はそこでエラーになったというだけでエラー自体はその近くにある場合もありますのでその行だけ提示しても分からないと思います。
例えば39行目のコードが示してありますが
そのIfに対応するEnd Ifがなければ39行目がエラーになります。(これはちがうと思いますが)
ところで
myIE.Document.readyState
このプロパティはStringですか?

投稿日時 - 2009-09-21 18:44:10

補足

回答有難うございます。
End If と書いてあるところはありました。

>ところで
>myIE.Document.readyState
>このプロパティはStringですか?

その文字列が含まれているところは以下の様にありました。
If myIE.Document.readyState = "complete" Then Exit Do

宜しく願いします。

投稿日時 - 2009-09-21 20:17:15

ANo.2

「パス閲覧」とかいう名前が付いているのに、パスが閲覧できてるように思えないから、なんか異常っぽいですが、そういうものかもしれないので、判断不能といわざるを得ないかと。

このVBSファイルを作った人に尋ねてみるのが確実ですが、他に頼れる人がいないなら、パス閲覧.vbsの内容(とくに39行目あたり)をさらしてみては。

投稿日時 - 2009-09-21 18:22:48

お礼

回答有難うございます。

#1様の補足欄に39行目を書いておきました。

宜しく願いします。

投稿日時 - 2009-09-21 18:28:18

ANo.1

エラーとなってますからエラーだと思われます
39行目にエラーがありますのでメモ帳などで開いて修正してください

投稿日時 - 2009-09-21 18:22:10

補足

回答有難うございます。
39行目は以下のようになっています

If myIE.Document.readyState = "complete" Then Exit Do


宜しく願いします。

投稿日時 - 2009-09-21 18:26:02

あなたにオススメの質問