-PR-
解決済み

プログラム間のデータ引き渡し

  • 困ってます
  • 質問No.99483
  • 閲覧数356
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (10/10)

VBで作成した複数のプログラムを次々に渡り、その間発生した計算値を
使用したいのですが…
一つのプログラムで発生したデータは、テキストファイルとして保存され
次のプログラムに処理を移してそのデータを使用する、といった操作をしたいのです
Shell関数やCommand関数を使用すればできるのでしょうか?
アドバイスお願いします
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル11

ベストアンサー率 46% (145/312)

その複数あるプログラムを次々に呼び出すプログラムを作成するとわかりやすくなると思います。
Aの処理が終わればBを呼び出して、Bが終わればCを呼び出すようなプログラムです。それぞれのプログラムは保存したテキストファイルを読むだけですが、プログラム引数にファイル名を指定すると若干汎用的になりますね。
終了タイミングの検出は Win32APIを使わないとわかりづらくなるでしょう。CreateProcess や GetExitCodeProcess等を調べると良いでしょう。Win32APIは使用を誤るとシステムが落ちてしまう場合があるので注意しましょう。

 Win32APIのヘルプを持っていない場合や VBの機能だけで実行したい場合は、ファイル処理のタイミングが難しいかもしれません。Aでファイルを書き込みAを終了する前にBを呼び出して、Bも同様、という形を取るしかないでしょう。その場合はOSやシステムによっては若干の相性が出るかもしれません。
お礼コメント
chiim

お礼率 100% (10/10)

アドバイスありがとうございます
まずはプログラムを呼び出し渡っていくという操作から
やってみます
API関数は使用したことがないので、MSDNで検索しながら
勉強してみたいと思います
投稿日時 - 2001-07-05 10:40:53
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル12

ベストアンサー率 65% (276/422)

どもども 田吾作7です。 アプリ間の通信ですね。MSDNでATOMというのを検索してください。 複数のデータをアプリ間で受け渡すことが出来ます。 (ADDATOM,FINDATOMなどなど・・・) それがいやならWINSOCKを使うという手もあります。 コントロールを一切使用したくないのであれば、たとえば アプリAとアプリBにおいて 1.アプリBにコマンドボタンを一つ用意する 2.その ...続きを読む
どもども 田吾作7です。
アプリ間の通信ですね。MSDNでATOMというのを検索してください。
複数のデータをアプリ間で受け渡すことが出来ます。
(ADDATOM,FINDATOMなどなど・・・)
それがいやならWINSOCKを使うという手もあります。
コントロールを一切使用したくないのであれば、たとえば

アプリAとアプリBにおいて
1.アプリBにコマンドボタンを一つ用意する
2.そのコマンドボタンに「受け渡し用ボタン」というキャプションにしておく。

処理の流れとしては
3.アプリAで計算を行う
4.アプリBを起動する
5.アプリBのハンドルを得る
wkWnd = FindWindow(アプリBのキャプション)
6.アプリBのコマンドボタンのハンドルを得る
'ボタンを探す
BtnHwnd = FindWindowEx( _
wkWnd , 0&, vbNullString, "受け渡し用ボタン"& vbNullChar)

7.アプリBのコマンドボタンのキャプションを変更しちゃう
call SetWindowText(BtnHwnd , "計算で得た値" & vbNullChar)

8.アプリBのボタンをボタンダウンとボタンアップをするようにする
Call SendMessage(BtnHwnd , WM_LBUTTONDOWN, 0, 0)
Call SendMessage(BtnHwnd , WM_LBUTTONUP, 0, 0)


8の処理を行うことにより、アプリBは値を渡されたことを認識できるので、アプリBのコマンドボタンのボタンアップ・もしくはダウンのイベント時に、値を受け取った時の処理のコードを書いたらいいと思いますよ。

途中に記してあるAPI関数や定数は、APIビューワで探してくださいね。
でわでわ
お礼コメント
chiim

お礼率 100% (10/10)

アドバイスありがとうございます
具体例が書かれていたので、大変参考になりました
↓にも書いたとおり、API関数を使用したことがないため
そこからの学習となります
複数のプログラムを渡るものは初めてなので、解らないことだらけです
でも、そういう方法はきちんと理解しておかなくてはダメですね
頑張ってみます
投稿日時 - 2001-07-05 10:46:33


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ