- 締切済み
HTAで、こんなボタンを作成したい。
手順書にそってバッチファイルを実行しているのですが、やり忘れなどを防ぐ為 HTA+VBSで簡単な操作パネル的(ボタン型ランチャー?)なものを作ろうと思っていますが、 どう作成してよいのやら不明です。 イメージしているものは、 『(1)設定』ボタンを押下で、(1)バッチファイル実行 Msg:(1)バッチファイルが終了しましたか[OK] Msgをクローズして →『(1)設定』ボタンの色を赤に変える※過程が分かるようにしたいため で上記のようなボタンを15個ぐらい作成。 ※途中で再起動しても、進行過程が残るようにしたいと思うのですが、ご教授願えますでしょうか。 具体的なコードと簡単で構わないので解説して頂けましたらと思います。 以上、よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- maxeed1
- ベストアンサー率0% (0/0)
回答を作ってみました。 --- <!DOCTYPE html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <title>サンプル・プログラム</title> </head> <body> <form name="form1"> <input type="button" name="btn_do_bat01" value="実行1" onClick="do_bat01()" /><br /> <input type="button" name="btn_do_bat02" value="実行2" onClick="do_bat02()" /><br /> <br /> <input type="button" name="btn_reset" value="リセット" onClick="do_reset()" /><br /> </form> <SCRIPT FOR=window EVENT=onload LANGUAGE="VbScript"> Set objFSO = CreateObject("Scripting.FileSystemObject") Set SaveFile = objFSO.OpenTextFile("save.txt" , 1 , False, 0) Do Until SaveFile.AtEndOfStream strLine = SaveFile.ReadLine Select Case strLine Case "do_bat01" document.form1.btn_do_bat01.style.backgroundColor = "RED" Case "do_bat02" document.form1.btn_do_bat02.style.backgroundColor = "RED" ' ... End Select Loop SaveFile.Close </SCRIPT> <script language="VBScript"> Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") Sub do_bat01() Set oExec = WshShell.Exec("test.bat") MsgBox "終わりましたか?" document.form1.btn_do_bat01.style.backgroundColor = "RED" Set SaveFile = objFSO.OpenTextFile("save.txt" , 8 , True, 0) SaveFile.WriteLine("do_bat01") End Sub Sub do_bat02() Set oExec = WshShell.Exec("test.bat") MsgBox "終わりましたか?" document.form1.btn_do_bat02.style.backgroundColor = "RED" Set SaveFile = objFSO.OpenTextFile("save.txt" , 8 , True, 0) SaveFile.WriteLine("do_bat02") End Sub Sub do_reset() Set SaveFile = objFSO.OpenTextFile("save.txt" , 2 , True, 0) SaveFile.Write("") document.form1.btn_do_bat01.style.backgroundColor = "" document.form1.btn_do_bat02.style.backgroundColor = "" End Sub </script> </body></html> --- htmlファイルに保存して表示し、「実行1」「実行2」ボタンとも同じフォルダにある「test.bat」を起動するだけです。 backgroundColor = "RED"でボタンの色を赤に変更します(disabled=Trueで一度押したボタンは押せないようにするとかもできそうです)。 途中で再起動しても、進行過程が残るようにするため、 ファイル読み書きを使って「save.txt」を作り、実行した関数の名前を書込んで置き、onload の時に読込んで関数名があればボタンを赤に変更しています。 resetでSaveファイルを空にし、ボタン色を標準に戻しています。 似たような感じで「do_bat03」「do_bat04」と増やしていけば出来ると思います。 エラー処理は特にしていません。 参考になれば幸いです
お礼
早速作成していただきまして、ありがとうございます。 ご連絡が遅くなりましてすみません。 確認してみます。 ありがとうございました。