🙌

バッチやコマンドのパラメータをフォームで受け付ける

2023/02/28に公開

vbsのinputboxでは1つしか値をうけとることができない。複数の場合、
htaを使う
windows標準なのでソフトなどのインストールは不要
test.hta

<html><head>
<title>サンプル・プログラム</title></head>
<body onLoad="readparam()">
<form name="form1">
<p>集計対象 開始時間
<input type="text"  size="25" name="text1" value="テキストサンプル" /></p>
<p>集計対象 終了時間
<input type="text"  size="25" name="text2" value="テキストサンプル" /></p>


<p><input type="button" value="集計してメールを送信する"
onClick="subGo()" />
</p>
</form>


<script language="VBScript">
'http://marmalade88.blog.fc2.com/blog-entry-3.html
'https://qiita.com/harryyuni/items/8a88227a72fcff949bb7
'https://sites.google.com/site/jfmillet40/home/vbscript/htatosukuriputodedoraibu-jie-xu
Sub readparam()
	strFile = "param.txt"

	'ファイルシステムオブジェクト作成----------------------------------
	Set objFS = CreateObject("Scripting.FileSystemObject")
	Set objText = objFS.OpenTextFile(strFile, 1)
	' 読み込み
	 document.form1.text1.value =objText.ReadLine
	 document.form1.text2.value =objText.ReadLine
	' ファイルクローズ
	objText.Close
End Sub

Sub subGo()
	'1行テキストの値を取得
	strKekka = "1行テキストの値は" & document.form1.text1.value & vbcr
	strKekka = strKekka & "1行テキストの値は" & document.form1.text2.value & vbcr

	msgbox(strKekka)

	strFile = "param.txt"
	'ファイルシステムオブジェクト作成----------------------------------
	Set objFS = CreateObject("Scripting.FileSystemObject")
	Set objText = objFS.OpenTextFile(strFile, 2)
	' 書き込み
	objtext.WriteLine(document.form1.text1.value)
	objtext.WriteLine(document.form1.text2.value)
	' ファイルクローズ
	objText.Close

	Window.Close
exit sub
End Sub

</script>
</body>
</html>

2行のtextファイル param.txtを用意しておく(空でよい)

Discussion