14

JScript を使用して WSH でプロンプト ダイアログ ボックスを開く方法は??

ドキュメントで見つけた唯一のポップアップ ダイアログは、WshShell.Popup() メソッドです。しかし、DOM の window.prompt() メソッドのように、ユーザーに文字列の入力を要求する方法が必要です。

ありがとう。

4

2 に答える 2

19

WScript オブジェクトはそのようなメソッドを提供していないと思いますが、WSH で実行されている vbscript から入力ボックスを表示できます。そこで、JS 内からその VB 関数を呼び出すことができる 1 つの解決策を次に示します。次のコード フラグメント「.wsf」のファイル拡張子に注意してください。

<!-- Test.wsf -->
<job id="InputBoxInJS">
   <script language="VBScript">
      Function VBInputBox(promptText)
        VBInputBox = InputBox(promptText)
      End Function
   </script>

   <script language="JScript">
      WScript.Echo("Hello from JScript")
      var x = VBInputBox("Enter text")
      WScript.Echo(x)
   </script>
</job>
于 2009-02-10T15:30:59.790 に答える
12

私はこの質問が答えられたことを知っていますが、私は.wsfのものを使いたくありません.また、Internet Explorerをロードするオーバーヘッドも望んでいません. Google を使用して、最もエレガントだと思うこのソリューションを見つけました。

http://with-love-from-siberia.blogspot.com/2009/12/msgbox-inputbox-in-jscript.html

重要なのは、ActiveXObject "ScriptControl" を使用し、言語を VBScript に設定してから、ScriptObject.eval() 関数を使用することです。サイトの例はそれ自体で立っています。

編集: 64 ビットやライン フィードなどでエラーが発生した場合は、(Win7 x64 などのシステムで) 実行する方法が記載されたこの改善されたバージョンがここにあります

于 2012-01-07T20:38:24.147 に答える