こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ExcelVBAでEXEファイルを動かしたい

Excel VBAで下記のexeファイルを開き、操作をしたいのですが、やり方がわかりません。

http://www5b.biglobe.ne.jp/~t-kamada/CBuilder/pcdgraph.html
1)このプログラムを起動し
2)Dataというフォルダにある、inputというタイトルのcsvファイルを読み込ませる(このプログラムでいうところの、ファイルボタンをクリックし、inputファイルをクリックすることにあたります)
3)骨格曲線というチェックボックスにチェックをいれ、グラフ出力をクリック、プログラムを閉じる

という流れをやりたいのですが、VBA上でexeプログラムのチェックボックスにチェックをいれ、ボタンを押すということをどうやるのかがわからず、困っています。

投稿日時 - 2014-01-09 00:37:27

QNo.8421315

困ってます

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

No.1です。

プログラムを見ました。

「ファイルボタンをクリック」の部分はSendKeysでAlt+Fを送ればOKです。ファイル名の指定もSendKeysで可能です。

骨格曲線というチェックボックスは、プログラムの子ウィンドウとしてウィンドウ キャプション「骨格曲線」、クラス名「TCheckBox」になっていますので、簡単に見つかるはずです。

「グラフ出力をクリック」はどのような操作なのか不明です(「グラフ」ボタン? ファイル出力?)。

「プログラムを閉じる」もSendKeysでAlt+X Alt+Yを送ればよいでしょう。

投稿日時 - 2014-01-14 14:40:52

ANo.1

http://www5b.biglobe.ne.jp/~t-kamada/CBuilder/pcdgraph.html
が見つからないので一般的な話になりますが、

プログラムを起動した後、ボタン・チェックボックスのウィンドウをクリックすることになります。

ボタン・チェックボックスのウィンドウはあらかじめ SPYXX.EXE でコントロールIDなどを確認しておくと便利です。

あとは GetWindow GetDlgItem などを駆使することになります。

クリックは PostMessage で WM_LBUTTONDOWN WM_LBUTTONUP を送ればよいかと思います。

ボタン・チェックボックスのウィンドウが定義されていない場合はプログラム内の手近な子ウィンドウからの相対位置を調べておき、座標位置指定でクリックすることになります。

実際に苦労するのは、クリックのタイミングだと思います。

人間のクリックはゆっくりなので問題ありませんが、プログラムは速いので画面が切り替わる前にクリックしたり、画面が切り替わっていてもプログラムが異常な反応をしたり、固まったりする場合があります。

投稿日時 - 2014-01-09 16:03:32

補足

リンクが上手く貼れておらずすみません。pcdgraphというプログラムです。
http://www5b.biglobe.ne.jp/~t-kamada/CBuilder/pcdgraph.htmです。

VBAをはじめてまだ1ヶ月で、おっしゃられているほとんどのことがよくわからないため、一つ一つキーワードを調べてみたいと思います。100個程度のデータを扱うのならまだ手動で良いのですが、数千となると本当に大変なので、非常に困っています。

投稿日時 - 2014-01-10 08:14:13

あなたにオススメの質問