- PR -

VB.net2003にて外部アプリケーションに複数の引数を渡したい

1
投稿者投稿内容
hideji
会議室デビュー日: 2008/06/23
投稿数: 12
お住まい・勤務地: 愛知・名古屋市
投稿日時: 2008-09-29 10:26
こんにちは。
どうしてもわからないことがあったので、投稿させて頂きました。
くだらない質問かもしれませんが、よろしくお願いします。

VB.net2003、windowsフォームにて外部アプリケーション起動のプログラムを作成しています。
このプログラムは、

ボタンをクリック
   ↓
フリーソフト「アタッシェケース」を起動。
現在のプログラム
Dim psi As New System.Diagnostics.ProcessStartInfo
psi.FileName = "D:¥AtchCase.exe"   '起動するアプリケーションを指定
psi.Arguments() = "D:¥test.txt"    'その際に引き渡すファイルを指定
System.Diagnostics.Process.Start(psi) '実行

となっているのですが、さらに引数を引き渡したいのです。

現在、引き渡している引数は
psi.Arguments() = "D:¥test.txt"    'その際に引き渡すファイルを指定
だけなのですが、更にもう一つ引数を渡したいのです。

上記内容を実現したいのですが何か良い方法がありませんでしょうか?
もしあるのであればご教授を乞いたい思いであります。

このような内容で申し訳ありませんが、内容を理解して頂けたらと思います。
どうかよろしくお願いします。


    
Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2008-09-29 11:11
はずしているかもしれませんが、

psi.Arguments() = "D:¥test.txt"



psi.Arguments() = "D:¥test.txt E:¥test.txt"

というふうに半角スペースで区切った引数を渡してあげればできるのではないでしょうか?

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-09-29 12:01
C# では
psi.Arguments = new string[] {@"D:¥test.txt", @"E:¥test.txt"};

[ メッセージ編集済み 編集者: Jitta 編集日時 2008-09-29 12:02 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-09-29 12:45
引用:

Jittaさんの書き込み (2008-09-29 12:01) より:

C# では
psi.Arguments = new string[] {@"D:¥test.txt", @"E:¥test.txt"};


System.Diagnostics.ProcessStartInfo.Arguments プロパティ

引用:

hidejiさんの書き込み (2008-09-29 10:26) より:

psi.Arguments() = "D:¥test.txt"    'その際に引き渡すファイルを指定


Arguments プロパティはメソッドでも配列でもないので妙な括弧をつけるのはやめましょう。 配列に見えてしまいます。

複数のコマンドライン引数を渡すには、

psi.Arguments = """D:\test.txt"" ""D:\test2.txt"""

とするのが正しいです。 ファイルパスには空白文字が含まれることがありますから (例: C:\Program Files\) こうしないと 1 つの引数が複数にバラけてしまいます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
hideji
会議室デビュー日: 2008/06/23
投稿数: 12
お住まい・勤務地: 愛知・名古屋市
投稿日時: 2008-10-01 12:52
Katzeさん、Jittaさん、じゃんぬねっとさん。
本当にありがとうございます。

みなさまの指摘を参考にした結果、無事に解決いたしました。

本当にありがとうございました。
1

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