1

解決できない問題があります。解決策は、専門家が説明するのはおそらく非常に簡単です。スタックオーバーフローやその他のスクリプトフォーラムの既存の投稿の助けを借りても、私はそれを機能させることができませんでした.

したがって、私の目標は、エラーが発生したときに自分自身をリセットする簡単なスクリプト (プレゼンテーションとして使用しているスクリプト) を用意することです。私はすでに「on error resume next」を試しましたが、これにより、コンピューターのスタートアップ IE が何度も何度も繰り返されました。

繰り返しになりますが、私の目標は、エラーが発生した後もスクリプトを継続させることです。私の質問で誰かを悩ませている場合は、私に知らせてください。状況に応じて、変更するか、自分自身をスラブします。

私のスクリプト:

「エラー時に次の再開」を行う

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = 1
objIE.FullScreen=True
objIE.Navigate "About:Blank"



Do Until VarType(objIE) = 9
    WScript.Sleep 4000
    objIE.Navigate "local URL"

    WScript.Sleep 6000
    objIE.Navigate "local URL"

        WScript.Sleep 10000
    objIE.Navigate "URL"


        WScript.Sleep 8000
        objIE.Navigate "URL"

        WScript.Sleep 8000
        objIE.Navigate "URL"

                      WScript.Sleep 12000
        objIE.Navigate "URL"

        WScript.Sleep 10000
        objIE.Navigate "URL"

        WScript.Sleep 14000
        objIE.Navigate "URL"

            WScript.Sleep 14000
        objIE.Navigate "URL"


Loop

ループ

4

1 に答える 1

0

このスクリプトは終了しません。停止するには、wscript プロセスを終了する必要があります。システム上で実行中のすべてのプロセスの「iexplore」をチェックします。Internet Explorer が見つからない場合、スクリプトは新しいインスタンスを開始します。iexplore が見つかると、ナビゲート コマンドが送信されます。

On Error Resume Next 

Do While true
If Check() = true Then
    WScript.Sleep 4000
    objIE.Navigate "local URL"

    WScript.Sleep 6000
    objIE.Navigate "local URL"

    WScript.Sleep 10000
    objIE.Navigate "URL"

    WScript.Sleep 8000
    objIE.Navigate "URL"

    WScript.Sleep 8000
    objIE.Navigate "URL"

    WScript.Sleep 12000
    objIE.Navigate "URL"

    WScript.Sleep 10000
    objIE.Navigate "URL"

    WScript.Sleep 14000
    objIE.Navigate "URL"

    WScript.Sleep 14000
    objIE.Navigate "URL"
End If
If Check() = false Then
    'Start Iexplore and direct it to blank page
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = 1
    objIE.FullScreen=True
    objIE.Navigate "About:Blank"
End If


Loop

'Check to see if IEXPLORE is running
Function Check()
Dim objWMIService, objProcess, colProcess
Dim strComputer, strList
strComputer = "."

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process")

For Each objProcess in colProcess
    If (inStr(objProcess.Name, "iexplore")) then
        Check = true
    Else
        Check = false
    End If
Next
End Function
于 2013-06-04T17:20:33.793 に答える