0

私は VBScripting を初めて使用しますが、VBScript を使用していくつかの .wsf ファイルを作成でき、非常に役に立ちました。

これをさらに一歩進めて、HTML アプリケーションを使用してもう少しインタラクティブにすることにしました。これについてかなり調べてみたところ、.hta ファイルで WScript を使用できないようですが、これを機能させるクリーンで簡単な方法がわかりません。これを理解するのに役立ついくつかの指針やベストプラクティスのアイデアを本当に感謝しています。

とにかく、コードはこれで、うまくいけばかなり自明です:

    set fs = WScript.CreateObject("Scripting.FileSystemObject")
    set oShell = CreateObject("Wscript.Shell")
    set objShell = CreateObject("Shell.Application")

    currDir = oShell.currentDirectory
    CreateFolder(C:\TEMP1234")


    Function CreateFolder(foldr)
        dim create
        if(fs.FolderExists(foldr)) then
            Msgbox "Folder already exists: "+foldr
        else
            fs.CreateFolder(foldr)
        end if
    End Function

</script>

<body>
<p>Please make selection</p>
<input type="checkbox" name="Selection" value="1.">Option 1<br>
<input type="checkbox" name="Selection" value="2.">Option 2<br>

<input id=runbutton class="button" type="button" value="OK" name="ok_button" onClick"getSelection">
&nbsp;&nbsp;&nbsp;
<input id=runbutton class="button" type="button" value="Cancel" name="cancel_button" onClick="CancelScript>

</body>

<script language="VBScript">

    Sub getSelection
        if Selection(0).Checked then
            option1
        end if
        if Selection(1).Checked then
            option2
        end if

        if radioChoice="" then
            exit sub
        end if
    end sub

    Sub CancelScript
        Self.Close()
    end sub

    sub option1
        Msgbox "Option 1 Selected"
    end sub

    sub option2
        Msgbox "Option 2 selected"
    end sub

</script>

前もって感謝します!

4

1 に答える 1

1

コードの詳細:

ファイル全体にスクリプトがあります。headこれらをand / orに入れますが、bodyこれら 2 つの要素の外には入れないでください。

WScriptobject is not available in HTA:fs = CreateObject("Scripting.FileSystemObject");トリックを行います。

ここの引用CreateFolder(C:\TEMP1234")は疑わしいです、それはペアレスかエクストラですか?パス名に引用符を含めることはできないため、修正する必要があります。

最初の にタイプミスがあり、 がありませinputん。が呼び出されることはないため、これは重要です。=<input ... onClick"getSelection">getSelection

于 2013-02-18T13:16:31.363 に答える