HTAとWSHとで利用できるオブジェクトが異なります。
fs = new ActiveXObject('Scripting.FileSystemObject')
// HTAの場合 (WSFではlocationオブジェクトが無いのでエラーになる)
// ローカルフォルダの場合は「C:/~」のようなPath。UNCパスなら「//PC名/~」のようなPathが入る
基準フォルダ = fs.GetParentFolderName(location.href.replace(/^file:/,'').replace(/^\/+([A-Z]:)/,'$1'))
// WSHの場合 (HTAではWScriptオブジェクトが無いのでエラーになる)
基準フォルダ = fs.GetParentFolderName(WScript.ScriptFullName)
ちなみに「fs.GetFolder('.')」でも出来そうな気がするかもしれませんが、それだとカレントディレクトリのPathになるので、カレントディレクトリと対象フォルダが一致していない状況の時に不都合が生じます。
0 件のコメント:
コメントを投稿