Excel VBA質問箱 IV

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

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


12958 / 13644 ツリー ←次へ | 前へ→

【7740】外部アプリの起動 NP 03/9/16(火) 16:59 質問
【7741】Re:外部アプリの起動 INA 03/9/16(火) 17:08 回答
【7747】Re:外部アプリの起動 Kein 03/9/17(水) 3:19 回答
【7762】Re:外部アプリの起動 NP 03/9/17(水) 11:42 お礼

【7740】外部アプリの起動
質問  NP  - 03/9/16(火) 16:59 -

引用なし
パスワード
   以前にC言語で作成したアプリケーションをエクセルのVBAを使って実行させると不具合が生じます。

実行したいアプリケーションは、同じディレクトリに置いたテキストファイルの内容を読み込んで処理するという内容のもので、テキストファイルの場所は相対パスで指定してあります。

VBAで、
Shell ActiveWorkbook.Path & "\aaa.exe" , 1
のようにして実行させると、
実行はするものの、同じフォルダに置いてあるテキストファイルを読み込めなくなってしまいます。
VBAを介さずに直接実行させるとこのようなエラーは起こりません。

心当たりのある方いらっしゃいましたら、お願いします。

【7741】Re:外部アプリの起動
回答  INA  - 03/9/16(火) 17:08 -

引用なし
パスワード
   解決できるか分かりませんが、
ShellExecute 関数を使ってみては、いかがでしょうか?

【7747】Re:外部アプリの起動
回答  Kein  - 03/9/17(水) 3:19 -

引用なし
パスワード
   >テキストファイルの内容を読み込んで処理
どんな内容か知りませんが、エクセルだけで作れませんか ?
テキストの読みこみは、ご存知かもしれませんがOpenステートメントや
FileSystemObjectのTextStreamオブジェクトなどで出来ますけど。

【7762】Re:外部アプリの起動
お礼  NP  - 03/9/17(水) 11:42 -

引用なし
パスワード
   皆様ご回答ありがとうございます。
Cで書いたプログラムは、昔より使っているものなので移植とかはしずらいんです。。

カレントディレクトリが、ブックのあるディレクトリが異なっていたようです。
どこに移動させてもマイドキュメントのままになっていました。

'カレントディレクトリ変更
olddir = CurDir
ChDir$ ThisWorkbook.Path

'シミュレータ起動
Shell "analyzer.exe", 1

'カレントディレクトリを元に戻す(念のため)
ChDir$ olddir

で無事解決しました。
ありがとうございました。

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