Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5648 / 13645 ツリー ←次へ | 前へ→

【49388】exeファイルを起動させる方法について takashi 07/6/3(日) 17:41 質問[未読]
【49389】Re:exeファイルを起動させる方法について かみちゃん 07/6/3(日) 17:46 発言[未読]
【49427】Re:exeファイルを起動させる方法について takashi 07/6/4(月) 23:20 質問[未読]
【49658】Re:exeファイルを起動させる方法について takashi 07/6/14(木) 23:33 お礼[未読]
【49661】Re:exeファイルを起動させる方法について かみちゃん 07/6/15(金) 0:27 発言[未読]
【49666】Re:exeファイルを起動させる方法について takashi 07/6/15(金) 1:28 お礼[未読]

【49388】exeファイルを起動させる方法について
質問  takashi  - 07/6/3(日) 17:41 -

引用なし
パスワード
   エクセルのVBAをつかってC++で作ったexeファイルを起動させるプログラムを書きたいと思いますが、うまくいきません。
プログラムは下記です。
Sub Macro1()
Shell "C:\test.exe"
End Sub

エラーは出ず、一瞬窓が出るのですが、計算をせずすぐ消えてしまいます。
・VBEの参照設定のmicrosft scripting runtimeはクリックいれてます。
・test.exe自体はクリックすると起動して計算します(約1分)
・ShellExecuteを使って、 "C:\test.exe"を選ぶとexeファイルは起動されます。
もし、対応策をご存知なら教えていただければ助かります。
よろしくお願いします。

【49389】Re:exeファイルを起動させる方法について
発言  かみちゃん  - 07/6/3(日) 17:46 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>エクセルのVBAをつかってC++で作ったexeファイルを起動させるプログラム

起動自体はできるが、それの終了を待ちたいということでしょうか?
それであれば、以下のURLが参考になりますでしょうか?
http://www.moug.net/tech/exvba/0150034.htm
(先頭4文字は、全角になっているので、半角にしてください)

【49427】Re:exeファイルを起動させる方法について
質問  takashi  - 07/6/4(月) 23:20 -

引用なし
パスワード
    かみちゃんさん
早速のアドバイス本当にありがとうございます。
お礼が遅くなり、本当に申し訳ありませんでした。
教えていただいた、終了待ちを使う方法はエラーは出なかったものの、exeファイルの起動が確認できないまま終わってしました。。。
(単なるshellだと、一瞬窓が開くのが確認出来ます)
もし、他の方法をご存知なら教えていただければ、大変助かります。
とりあえずお礼まで

【49658】Re:exeファイルを起動させる方法について
お礼  takashi  - 07/6/14(木) 23:33 -

引用なし
パスワード
   現状報告
実はexeファイルは起動していました。
テストに使ったexeファイルはダブルクリックするとそのexeファイルがあるディレクトリにテキストファイルを作成するシンプルなものです。(ソースは下記参照)
ただ、shellでexeを起動させると、なぜかマイドキュメントにファイルは作成されていました。
これはなぜでしょうか?
もし、ダブルクリックしたときと同じように、exeファイルがあるディレクトリにテキストファイルを作る方法があれば教えてください。
よろしくおねがいします。
(ソース)
main( )
{
FILE *fp; /* ファイルポインタ */
fp = fopen( "hello.txt", "w");
fprintf(fp,"hello!\n");
fclose(fp);
return 0;
}

【49661】Re:exeファイルを起動させる方法について
発言  かみちゃん  - 07/6/15(金) 0:27 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>テストに使ったexeファイルはダブルクリックするとそのexeファイルがあるディレクトリにテキストファイルを作成するシンプルなものです。(ソースは下記参照)
>ただ、shellでexeを起動させると、なぜかマイドキュメントにファイルは作成されていました。

どうしても、そのexeプログラムを使う必要があるまのでしょうか?
ファイル生成くらいだったら、VBAでもできます。
また、どうしても使う必要があるならば、
ChDrive
ChDir
でカレントフォルダを変えてからexeを実行するのではいけないのでしょうか?

【49666】Re:exeファイルを起動させる方法について
お礼  takashi  - 07/6/15(金) 1:28 -

引用なし
パスワード
   かみちゃんさん
迅速な返事ありがとうございます!
今回のexeはテストで、実際にはもう少し複雑な計算等をさせて、それをファイル出力させるために、Cでプログラムを書きました。
ただ、ディレクトリの問題は、教えていただいたChDirで解決されました!
本当にありがとうございます。
これでようやく、二週間悩んだ問題から解放されます。
本当に助かりました!

▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>テストに使ったexeファイルはダブルクリックするとそのexeファイルがあるディレクトリにテキストファイルを作成するシンプルなものです。(ソースは下記参照)
>>ただ、shellでexeを起動させると、なぜかマイドキュメントにファイルは作成されていました。
>
>どうしても、そのexeプログラムを使う必要があるまのでしょうか?
>ファイル生成くらいだったら、VBAでもできます。
>また、どうしても使う必要があるならば、
>ChDrive
>ChDir
>でカレントフォルダを変えてからexeを実行するのではいけないのでしょうか?

5648 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free