• 締切済み

WSH:任意のキーを押してDo While Loopから抜ける方法はありますか。

WSHのスクリプトでDo While Loopをまわしているときに任意のキーを押すとループから抜け出すようなプログラムは可能ですか。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

'多分無いのでは・・・ 'ヘボな案ですが、一回のループに時間が掛かるなら、PopUpが使えるかも? '下のサンプルのように自動的に消えてしまいますので、 'PopUpウィンドウが出たときに分岐できるかも? '※但しこのPopUp はかなり当てになりません '時間が正確でない。 'タスクバーには現れるがポップアップして最前面に出てこない。 'ということで、そちらの状況が分かりませんけれども 'Loop を抜け出す以外の方法を考えた方が良さそうな気がします。 Set objShell = CreateObject("Wscript.Shell") Do Until i > 3   '実際の何かの処理   wscript.sleep 3000      Res = objShell.Popup("終了しますか", 3, "三秒以内に答えてね",1)   i=i+1   Select Case Res    case 1          dmy = objShell.Popup("終了します", 1, "一秒待ってね")        Exit Do    case 2    dmy = objShell.Popup("またね", 1, "一秒待ってね")    case -1    dmy = objShell.Popup("次回はお返事を", 1, "一秒待ってね")   End Select Loop if not i > 3 then   msgbox "一抜け" else   msgbox "三回を超えました" end if

phy0
質問者

お礼

ありがとうございます。参考にさせていただきます。