- 締切済み
ActiveXObjectについて
var objFileSys = new ActiveXObject("Scripting.FileSystemObject"); のところで ActiveXObject is not defined というエラーが出るのですがどうしたらいいか方法教えてください。 <script type="text/javascript"> <!-- var strScriptPath; var strCreateFile; var strDate; //(1)現在時刻をHHMMSSの形式で取得します strDate = getTime(); //(2)ファイルシステムオブジェクトの作成 var objFileSys = new ActiveXObject("Scripting.FileSystemObject"); //(3)プログラムが保存されているフォルダを取得します strScriptPath = String(WScript.ScriptFullName).replace(WScript.ScriptName,""); //(4)プログラムが保存されているフォルダに、新たにファイルを作ります // ファイル名は現在の時刻(HH_M_S形式)+拡張子(.txt)です strCreateFile = objFileSys.BuildPath(strScriptPath,strDate + ".txt"); objFileSys.CreateTextFile(strCreateFile); WScript.echo(strScriptPath + "に" + strDate + ".txtという名前のファイルを作りました"); //オブジェクト破棄 objFileSys = null; function getTime() { //時刻を編集し返す var objDate = new Date(); return objDate.getHours() + "_" + objDate.getMinutes() + "_" + objDate.getSeconds(); } //--> </script>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hitomura
- ベストアンサー率48% (325/664)
まずは前回の回答についてお詫びを。 Windows Scripting Hostと書きましたがこれは古い呼び名で現在はWindows Script Host(ingがない)でした。 さて、Windows Script Hostとは、Windowsのシェルの一種です。シェルというのはOS上で一連の動作をまとめて自動的に行わせることのできるものです。 あなたがご質問のコードはコメント中の(1)~(4)をまとめて自動的に行うものです。 しかし、Windows Script HostはWindowsでしか使えませんし、Windows上で直接実行することしかできません。Webブラウザを介して実行することはできないのです。 一方、HTML5のFile APIはブラウザ内からそのブラウザが起動しているコンピューターにあるファイルの情報や内容を取得できるというものです。 このAPIを使うと、ブラウザでローカルファイルをアップロードすることなく編集するといった今までできなかったことができるようになります。 とはいえ、前回の回答で書いたとおり、対応しているブラウザが少ないという問題があります。 したがって、「HTML5のFile APIとはどう違うのでしょうか?」という質問の回答としては、目的と対象が根本から違う、となります。 参考URL Windows Script Host(ウィキペディア): http://ja.wikipedia.org/wiki/Windows_Script_Host Microsoft Windows スクリプト テクノロジ(MSDNライブラリ): http://msdn.microsoft.com/ja-jp/library/cc392483.aspx File API(W3C, 英文): http://www.w3.org/TR/FileAPI/ File APIでブラウザーからローカルファイルを操作 - 古籏一浩のJavaScriptラボ(ASCII.jp): http://ascii.jp/elem/000/000/559/559105/
- hitomura
- ベストアンサー率48% (325/664)
ActiveXObjectおよびWScriptはWindows Scripting Hostでしか使えないものです。 したがって、HTMLのスクリプトでは使用できません。 というか、webブラウザでファイルを扱うならばHTML5のFile APIを使いましょう(フル対応しているブラウザがFirefox 3.6以降とGoogle Chromeだけのようですが)。
お礼
回答ありがとうございます。Windows Scripting Hostとはなんでしょうか? HTML5のFile APIとはどう違うのでしょうか?