
お世話になります。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- WordPress(ワードプレス) WordPressのサイトにPDFをアップロードした際にGoogleなどの検索結果に出ないでほしい 1 2022/08/03 10:44
- その他(セキュリティ) exeファイルの個人情報について 3 2023/06/29 17:36
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Windows 10 Windows11の実行モジュールはどこにある 1 2022/05/31 07:33
- スピーカー・コンポ・ステレオ 再生周波数を測定できるアプリを探しています。 質問失礼しますm(*_ _)m 現在、レコードやハイレ 4 2022/06/27 10:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
バッチ処理でファイルの中身を...
-
ハードディスク上書き用大容量...
-
.txtではなく.logの方が良いの...
-
Unicodeで保存されたtxtファイ...
-
テキスト(txt)→ワード(docx)へ...
-
VBAでワークシートを引数として...
-
awk ファイル出力
-
FLEXlmのライセンス使用状況を...
-
3つ以上のテキストファイルをコ...
-
バッチファイルで文字列削除に...
-
ファイル名の一部をbatで変更し...
-
大量のフォルダからひとつのフ...
-
binファイルを解凍したいの...
-
コマンドプロンプトのエラーに...
-
win10の「フォト」で、「次へ」...
-
これってパソコンの最適化が完...
-
stable diffusionのインストー...
-
VBScriptでコマンドプロンプト...
-
公文書のxmlファイルの開き方が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
バッチファイル 複数ファイル...
-
psqlでエラーログをとりたい
-
ファイル内容の修正、行削除に...
-
バッチファイルで文字列削除に...
-
テキストファイルで提出とは?
-
拡張子を元に戻す
-
ファイルの最後に文字列挿入
-
UWSCでテキストファイルを開い...
-
エクセルの各セルの内容をそれ...
-
ファイル名の一部をbatで変更し...
-
renameコマンドについて
-
accessでSQL文を使ってcsvファ...
-
3つ以上のテキストファイルをコ...
-
Windowsのバッチファイルを利用...
-
ファイルのワイルドカードについて
おすすめ情報