- PR -

ブラウザから引数付でアプリケーションを起動したい

投稿者投稿内容
やっちゃん
会議室デビュー日: 2005/11/22
投稿数: 7
投稿日時: 2005-11-22 14:23
初めて投稿いたします。どうぞよろしくお願いいたします。

イントラネットサイトにポータルのような機能を持たせるため、ブラウザ上で別アプリケーションを開くようなリンクを作成しています。

VBScriptで以下のようなコードを記述し、引数なしのアプリケーションの起動はできました。
<SCRIPT type="text/vbscript" LANGUAGE="VBScript">
Sub NoteRun_OnClick
Set Shell = CreateObject("WScript.Shell")
Shell.Run """C:\\WINNT\\notepad.exe"""
End Sub
</SCRIPT>
<BODY>
<input type="button" value="メモ帳起動" id="NoteRun">
</BODY>

ただ、この方式であると引数の受け渡しができません。どなたか、引数を受け渡す方法をご存知ないでしょうか。JavaScript/VBScriptで実現できればと思っています。

よろしくお願いいたします。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-11-22 14:31
http://www.microsoft.com/japan/msdn/library/ja/script56/html/wsMthRun.asp
やっちゃん
会議室デビュー日: 2005/11/22
投稿数: 7
投稿日時: 2005-11-22 15:08
早速のご返答、ありがとうございます。感謝いたします。

引数をそのまま渡した場合、「ファイルが見つかりません」のエラーになっていましたが、"&"で渡した場合、引数である事を認識してくれました。

Shell.Run "C:\\Program Files\\Notes\\???.exe" & " /N=C:\\Program Files\\Notes\\???.ini"

ただ、困ったことに、引数のファイルが"C:\\Program Files"の下にあり、フォルダ名に空白が含まれると、"C:\\Program"までしか認識してくれません。空白を含むフォルダ名は引渡し不可能でしょうか・・・
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-22 15:13
引用:

やっちゃんさんの書き込み (2005-11-22 15:08) より:

ただ、困ったことに、引数のファイルが"C:\Program Files"の下にあり、フォルダ名に空白が含まれると、"C:\Program"までしか認識してくれません。空白を含むフォルダ名は引渡し不可能でしょうか・・・


二重引用符で括ってもダメですか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
やっちゃん
会議室デビュー日: 2005/11/22
投稿数: 7
投稿日時: 2005-11-22 15:57
コメントありがとうございます。二重引用符で囲ってみましたが、駄目でした・・・
実際には、以下のように記述すると、->以降のエラーがでます。

Shell.Run """C:\\Program Files\\Notes\\???.exe """ & """/N=C:\\Program Files\\Notes\\???.ini""" ->引数で指定している「c:\\program」が見つかりません。引数の指定を無視します。

Shell.Run """C:\\Program Files\\Notes\\???.exe """ & """/N='C:\\Program Files\\Notes\\???.ini'""" ->ファイル名または番号が不正です。

Shell.Run """C:\\Program Files\\Notes\\???.exe """ & """/N=C:\\Program%20Files\\Notes\\???.ini""" ->引数で指定している「c:\\program%20files\\Notes\\???.ini」が見つかりません。引数の指定を無視します。

Shell.Run """C:\\Program Files\\Notes\\schedule.exe """ & """/N="""C:\\Program Files\\Notes\\notes.ini"""""" ->ステートメントの末尾が不正です。となって、ページが表示できない。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-22 16:04
スペースを「%20」に置き換えてもダメでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
明智重蔵
大ベテラン
会議室デビュー日: 2005/09/05
投稿数: 127
投稿日時: 2005-11-22 16:21
exeのパスと引数との間に空白がないのでは?
やっちゃん
会議室デビュー日: 2005/11/22
投稿数: 7
投稿日時: 2005-11-22 17:41
いろいろありがとうございます。%20も駄目のようです。空白に置き換わりませんでした。exeの後には空白を入れています・・・

前半の"C:\\Program Files\\Notes\\???.exe"の空白はちゃんと認識できるのに、後半の"N=C:\\Program Files\\Notes\\???.ini"の空白は引数の区切りと思ってしまうのですね。

また、DOSでは、"C:\Program Files\Notes\???.exe" /N=C:\Progra~1\Notes\???.ini で実行できるのに、Webでは、駄目でした・・・

スキルアップ/キャリアアップ(JOB@IT)