お世話になります。ご教授ください。
類似の質問が既にあるのかもしれませんが、質問させていただきます。。。
HTML上に記述するVBScriptでは、WScriptは使用できないという記事を見かけます。
実際、HTML+VBScriptで使用すると、
変数は宣言されていません:'WScript'
とエラーが出ました。
WSH は WScript のインスタンスを読み込むことができないうんぬん、と書かれていました。
書きたいことは、
WScript.Sleep 1000
です。
もしくは、これに変わる何かがしたいです。
外部ファイル化(.vbs)を試してみましたが、ダメでした。
==== サンプル(Sample.vbs) ====
Option Explicit
MsgBox "start"
Dim Idx = 0
Do While Idx <> 3
WScript.Sleep 1000
MsgBox Idx
Idx = Idx + 1
Loop
WScript.Sleep 1000
MsgBox "end"
================
<html>
<head>
<meta http-equiv="Content-Script-Type"
content="text/vbscript">
<script language="VBScript" type="text/vbscript"
src="sample.vbs"></script>
</head>
…
という感じです。
上記はあくまでサンプルですが、最終的には「ループの中で」待ち状態、になるようにしたいです。
Do While ある条件
1秒待ち
ある条件に、なるかならないか
Loop
(setTimeout を使用する例が書かれていましたが、それではループ制御は走り続け、CPUが痛い目に合いました。。。)
もしかして、WScript は使用できるのに、記述ミスかもしれませんし。。。
できない場合は、それに変わる案などいただけるとありがたいです。
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Sleepは難しいのでは?
たとえばこんな感じでどうでしょう?
<script language="vbscript">
Dim Idx,timerID
sub Window_onLoad()
Idx=0
msgbox "start"
timerID=Window.SetInterval("test()",1000)
end sub
sub test()
if Idx>=3 then
Window.ClearInterval(timerID)
msgbox "end"
else
msgbox Idx
end if
Idx=Idx+1
end sub
</script>
さっそくありがとうございます!
ですが、この方法だとOnLoadで処理していることになるかと。
Loop 内で、ビジー状態・ウェイト状態にしたいなぁというのが
本意です。。。
SetTimeout はLoop処理をいったん止めるということは
できないようですし。。。
ある条件、というのも、3回ループなどではなく、
本当は可変したものを作成したいのです。
外部プログラムが終了したか、判定する、といった具合に。。。
WSHShell.Runメソッドを使用した 同期ではないものです。
非同期で、かつ外部プログラムが終了したかチェックするものを
作成するつもりでいるのですが。。。
CScript.exe は、WScript を使用できるそうなので、
VBScript から無理やり CScript を実行して Sleep できないかなぁ
というところで行き詰まっています。
※まず、それが可能なのかもわからず状態ですが(^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6のFriendについて
-
【VB6.0】 あるフォームから他...
-
定数を構造体で・・・
-
プロシージャまたは関数の引数...
-
プログラムの素朴な質問です 分...
-
パーソナルXLSBのfuctionを呼び...
-
VB.NETでのイベントの途中終了
-
テキストボックスかラベル上の...
-
C#のループでtextboxに値を入れ...
-
エクセルVBAでテキストボッ...
-
C言語のサフィックスについて
-
他のフォームから別のフォーム...
-
subsequentとnextの違いってな...
-
VBAでcallで呼び出したsubを終...
-
チェックボックスを操作できな...
-
タイムアウトする仕組みを作りたい
-
String型の値にスラッシュをつ...
-
Excel ユーザーフォームで計算 ...
-
VB
-
VBAで入力数値について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムの素朴な質問です 分...
-
【VB6.0】 あるフォームから他...
-
定数を構造体で・・・
-
プロシージャまたは関数の引数...
-
Excel vba で複数のテキストの...
-
【VBScript】変数のスコープ
-
パーソナルXLSBのfuctionを呼び...
-
【HTML、VBScript】HTAアプリケ...
-
プロシージャを呼び出したプロ...
-
VB6のFriendについて
-
PL/SQLのプロシージャ間でカー...
-
ExcelのVBA。Staticな変数について
-
HTML + VBScript で Sleep でき...
-
整数を二つ読み込み、それらの...
-
プロシージャの引数の取り得る...
-
Excel VBA カーソルを当てた際...
-
subを連続で実行する
-
三項でたとえば交換って
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
おすすめ情報