お世話になります。
2点ほどVB.netのコーディングに関して質問があります。
環境:VB2008
DB:SQLSEVER
A = アプリケーション1
B = アプリケーション2
複数の引数 = DB検索情報(key,テーブル名)&ヒットしたファイルが格納されているルートディレクトリ
●実装したい機能
Aから外部のB(exe)を呼び出し、Aから受け取った複数の引数を元にDBを検索しファイル名をヒットさせ、そのファイルを開く。
質問(1)
Aから外部のB(exe)を呼び出すときにAで取得した複数の引数をBに渡す方法はどうするのでしょうか?
質問(2)
受け取った引数を元にDBを検索し、ヒットしたファイルを開きたいのですが、その複数の引数を格納する構文はどういったものになるのでしょうか?
ネットで調べはしましたが、いまいちピンとくるものがなく質問した次第です。
最近VBを始めたもので、質問をする上で情報が欠如しているかもしれませんが、ご回答頂けると幸いです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> 受け取った引数が("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")となっていますが、
> この"hoge.txt fuga.txt piyo.txt"をxとyといった変数に別々に格納したいのですが・・・。
> xにhoge.txt fuga.txt
> yにpiyo.txt
> といった感じです。
Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")
としたとき、Mainメソッドに渡される引数は
CmdArgs(0) → "hoge.txt"
CmdArgs(1) → "fuga.txt"
CmdArgs(2) → "piyo.txt"
になります。(スペース区切り)
Process.Start("SomeEXE.exe", """hoge.txt fuga.txt"" piyo.txt") //←ひとまとめにしたい引数はダブルクォーテーション(")で囲う
とすると、Mainメソッドに渡される引数は
CmdArgs(0) → "hoge.txt fuga.txt"
CmdArgs(1) → "piyo.txt"
になります。
No.1
- 回答日時:
> Aから外部のB(exe)を呼び出すときにAで取得した複数の引数をBに渡す方法はどうするのでしょうか?
System.Diagnostics.Process.Startメソッドにコマンドライン引数も指定できるオーバーロードがあります。
http://msdn.microsoft.com/ja-jp/library/h6ak8zt5 …
http://dobon.net/vb/dotnet/process/shell.html
'Imports System.Diagnostics
Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt") 'SomeEXEの終了を待たない場合
Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt").WaitForExit() 'SomeEXEの終了まで待つ場合
> 受け取った引数を元にDBを検索し、ヒットしたファイルを開きたいのですが、その複数の引数を格納する構文はどういったものになるのでしょうか?
受け取り側もVB.NETで作っているということでよろしいでしょうか?
それならこちらに有用な情報があります。
http://dobon.net/vb/dotnet/programing/commandlin …
ご回答ありがとうございます。
おかげさまで引数をB側(VB.NETで作ってます)で受け取る事ができました。
恐縮ですが、もうひとつご教示願いたいのですが...。
Private Sub Main(ByVal CmdArgs() As String)
'コマンドライン引数の表示
Dim cmd As String
For Each cmd In CmdArgs
このcmdに複数の引数が渡ってきましたが、
この引数を分割する方法はどうするのでしょうか?
受け取った引数が("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")となっていますが、
この"hoge.txt fuga.txt piyo.txt"をxとyといった変数に別々に格納したいのですが・・・。
xにhoge.txt fuga.txt
yにpiyo.txt
といった感じです。
質問に質問はルール違反?かもしれませんし、
基礎から勉強しろと言われそうですが、困っています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
exe間での引き値の受け取り方法
Visual Basic(VBA)
-
[VB.net] DataGridViewの列ヘッダー複数行表示に伴う不具合?について
Visual Basic(VBA)
-
-
4
VBプログラムの終了
Visual Basic(VBA)
-
5
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
6
vb6で異なるのプロジェクト間で、値を渡したい
Visual Basic(VBA)
-
7
VB.NETで他のEXEを実行させる
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
多数のサブディレクトリ内のフ...
-
.txtではなく.logの方が良いの...
-
バッチファイル 複数ファイル...
-
VBAでワークシートを引数として...
-
拡張子を元に戻す
-
★★★PowerShellのpatternについ...
-
ファイルの最後に文字列挿入
-
テキストファイルで提出とは?
-
psqlでエラーログをとりたい
-
バッチファイルで文字列削除に...
-
エクセルの各セルの内容をそれ...
-
VBSでフォルダ内のテキストファ...
-
3つ以上のテキストファイルをコ...
-
バッチファイルからVBAに引数を...
-
フォルダ階層のあるzipファイル...
-
コマンドプロンプトで指定した...
-
forfilesで検索したファイルを...
-
フォルダ内全ファイルをシート...
-
COPYコマンドで結合すると余計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
多数のサブディレクトリ内のフ...
-
VBAでワークシートを引数として...
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
拡張子を元に戻す
-
バッチファイル 複数ファイル...
-
エクセルの各セルの内容をそれ...
-
forfilesで検索したファイルを...
-
コマンドプロンプトで指定した...
-
バッチファイルで文字列削除に...
-
psqlでエラーログをとりたい
-
ファイル内容の修正、行削除に...
-
renameコマンドについて
-
VBSでフォルダ内のテキストファ...
-
【Excel】 VBAを使って毎回名前...
-
UWSCでテキストファイルを開い...
-
Windowsのバッチファイルを利用...
-
テキストファイルで提出とは?
おすすめ情報