HTA
引数取得2015/12/30
HTAで実行時の引数を取得してみた。
htaファイルへのショートカットを作成し、
リンク先を「パス 引数」とすることで動作する。
引数は複数指定することもできる。
ショートカットを「パス test こんにちは」と指定した場合、下記のように表示される。
【課題】
抽出アルゴリズム上、引数に「"hello world"」のように、
ダブルクォーテーションと半角スペースを混ぜたものはを組み合わせたものは使用できない。
<html> <head> <meta charset="UTF-8"> <title>コマンドライン引数取得</title> <HTA:APPLICATION ID="objHTA" SINGLEINSTANCE="yes" > <script Language="VBScript"> Sub Window_onLoad full_str = objHTA.commandLine 'コマンドラインの文字列取得 str_start = 1 'パスの先頭 str_end = InStr(2, full_str, """") 'パスの末尾 str_end = str_end + 1 'パスの直後のスペース分加算 m = Mid(full_str, str_start, str_end) 'パス部分を取得 param_str = replace(full_str, m, "") 'パス部分を削除 params_arr = Split(param_str, " ") '引数部分を半角スペースで分離 result = "" '結果を初期化 For i=0 To Ubound(params_arr) '引数の数だけ繰り返す result = result & vbCr & "引数" & i+1 & ":" & params_arr(i) '結果に追加 Next MsgBox result '結果を表示 End Sub </script> </head> <body> </body> </html>