• ベストアンサー

IEから、ローカルマシンのTEXTファイルを編集

お世話になります。 HTMLの方のNo.2299082でVBScriptによる方法を教えていただいています。 JavaScriptでもできないものかと、また、VBScriptでは、秀丸エディタで編集しようと思ってもできなかったものですので、こちらの方で改めて質問させていただきます。 よろしくお願いいたします。 IEから、ローカルマシンのテキストファイルを開いてそのテキストファイルを編集できるようにしたく試行錯誤していますが、私の力ではできません。 HTMLファイルでヘルプファイルを作成していまして、そのHTMLファイルのなかでボタンなり、リンクをクリックすることにより該当のファイルの編集に移行したいのが目的です。

質問者が選んだベストアンサー

  • ベストアンサー
  • akanekor
  • ベストアンサー率52% (102/194)
回答No.4

ファイルパスの "/・・・/" この部分が分かりませんが、 Obj.Run """C:\Program Files\Hidemaru\Hidemaru.exe""" & " " & "d:/MyData/home/whats_new.js" で、こちらは直接ファイル名が正常に動きました(IE6.0.2900.2180 SP2)。 なので、そちらで動かない原因は分かりません。 関連箇所のコード見せて貰えませんか?

rqg2010
質問者

お礼

お早うございます。 早速ご丁寧にレスありがとうございます。 私も動作しました。ありがとうございます。 動作しなかったのは、秀丸でなくHeTeMuLu Creatorと、いうフリーのHTMLエディタでした。 そして、HeTeMuLu Creatorでも、 "d:/MyData/home/whats_new.js" を" d:\MyData\home\whats_new.js" とすると、動作しました。 パスを「/」で区切ると動作しなくて「¥」で区切ると動作しました。 また、秀丸ではどちらでも動作しました。 「参照」ボタンを押してダイアログに表示されるファイルパス記号は、「¥」で表示されているのでファイルパスを渡すときは「¥」の方が良いのかなと、そして、秀丸エディタは、「/」にも対応しているのかな。 などと勝手に納得しました。 いろいろとご丁寧にありがとうございました。

その他の回答 (3)

  • akanekor
  • ベストアンサー率52% (102/194)
回答No.3

多分、秀丸のインストール先って標準位置にインストしましたよね? 「C:\Program Files\Hidemaru\」になると思いますが、 ファイルのパス指定で、空白がある場合、エラーになります。 (つまり、"Program Files"に入っている空白 ) この場合は、ファイルパスに""を記述しなければなりません。 質問No.2299082のKuppycatさんの解答を一部変えた物です。 <html> <head> <title>VBScript Test</title> <script type="text/VBScript"> Sub Btn_Click Set Obj = CreateObject("WScript.Shell") Obj.Run """C:\Program Files\Hidemaru\Hidemaru.exe""" & " " & document.forms(0).pathname.value end sub //--> </script> </head> <body> <form> <input type="file" name="pathname" size="50" /><br /> <input type=button value="秀丸を起動!" name="Btn" OnClick="Btn_Click" /> </form> </body> </html> こんな感じで動きます。

rqg2010
質問者

お礼

貴重なレスありがとうございます。 動きました。 ""を記述しなければならないなんて、試行錯誤を繰り返しましたが、全く思いもつきませんでした。 しかし、更に直接ファイル名を指定して、 Obj.Run """C:\Program Files\Hetemulu Creator\hetecre.exe""" & " " & "d:/MyData/・・・/home/whats_new.js" または、""の原因かとファイル名にも""を付け加えて Obj.Run """C:\Program Files\Hetemulu Creator\hetecre.exe""" & " " & """d:/MyData/・・・/home/whats_new.js""" と、いうようにすると、いずれも 「d:\whats_new.jsにはアクセスできません。」 と、いうメッセージがIEから表示されてしまいます。 直接、編集するテキストファイルを指定しなくてファイル選択ダイアログから選択すれば秀丸エディタで編集できるようになります。 どうもVBScriptと、いうのは文字列操作が不可解です。 と、いうより私が全く理解できていないということと思いますが。 もし、おわかりになりましたら教えていただけないでしょうか。 よろしくお願いいたします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

VBScript でできることは、大抵javascript(JScript)でもできます。 (一部言語に違いはありますが) 秀丸エディタについては、保有していないので、なぜ秀丸の起動がうまくいかないかについてはわかりません。 (ひょっとすると、ファイルが別ソフトで開かれているからかな?)

rqg2010
質問者

お礼

レスありがとうございます。 過去ログも見ていただいたようで、重ねてありがとうございます。 >(ひょっとすると、ファイルが別ソフトで開かれているからかな?) それは、無いですが、・・・

  • liwet
  • ベストアンサー率72% (18/25)
回答No.1

IEからローカルマシンのテキストファイルを、開くことも編集することも、基本的には出来ません。 それが出来てしまうと、悪意のあるサイトに接続したときに、勝手にローカルのファイルを編集されてしまうことになり、セキュリティ上良くないからです。 ヘルプファイルの編集をしたいのであれば、サーバが必要となりますが、wikiのようなものを利用したらどうでしょうか? 日本発のものもあるので、日本語でも利用できるようです。

参考URL:
http://www.yamdas.org/column/technique/clonelist.html
rqg2010
質問者

お礼

レスありがとうございます。 >ヘルプファイルの編集をしたいのであれば、サーバが必要となりますが ヘルプとするHTMLをサーバへアップするとかしなくて、ただ、ローカルマシンのみで閉じた環境で使用することを目的と考えています。PCのフォルダをエクスプローラで操作することもなくHTMLのボタンをクリックするだけで、必要とするテキストファイルを編集する。 ランチャ的な扱い、それもスタンドアローン環境でといった方が、ヘルプファイルというよりも良かったのかも知れませんが。

専門家に質問してみよう