プログラム~フォルダー検索ダイアログを表示する
プログラムを簡単に見ていきましょう。今回のプログラムでは、ボタンを押すとフォルダー選択ダイアログが開いて、任意のフォルダーを選択できるようになっています。これを実現するには、ShellオブジェクトのBrowseForFolder()メソッドを利用します。以下は、フォルダーの選択ダイアログを利用している部分を抜粋したものです。
// フォルダ選択ダイアログ
function selectdir(id) {
var objShell = new ActiveXObject("shell.application");
var folder = objShell.BrowseForFolder(0, "フォルダ選択", 0);
if (folder == null) return;
var path = folder.Self.Path;
$(id).value = path;
}
通常、Webブラウザーで実行されるHTMLの中では、セキュリティ上の制約ゆえに、ActiveXは利用できないように配慮されています。しかし、Webブラウザーを介さず、HTAを使うことで、ActiveXが利用できるようになります。その方法は簡単で、ファイルの拡張子を「.html」から「.hta」に変更するだけです。