- 締切済み
VBでアプリケーションを自動操作したい。
VBでアプリケーション(動画編集ソフトなど)の特定の操作をワンクリックで実行させたいと思っています。そのようなことが載っている書籍をさがしているのですが、なかなか見つけられません。 具体的なコードがわかれば、その機能に関する記述のある書籍を探せば見つけられるかなと思いました。 そこで、VBでアプリケーション(動画編集ソフトなど)を操作する際に、どのようなコードを使用するのか教えていただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yama1718
- ベストアンサー率41% (670/1618)
VBでもできると思いますがWindowsのシステムやAPIを熟知して使いこなす必要があります。 APIを使ったりその為のバイナリデータのやり取りなどはVBでは結構面倒なので、VC++の方がプログラムは組みやすいでしょうね。 Windowsの自動操作をしたいのなら私なら次の「Triple-9」を勧めます。 http://www.technocity.jp/ 操作を記録させると自動的にスクリプト言語で記録されますから、それを元にして繰り返しや条件判断などのプログラムを組み込んでもっと高度な事もできます。 スクリプト言語はVBでもVCでもなくて、Pascalがベース(故ボーランドのDelphi)ですけどね。 Pascalは文法や記述は違いますが、基本な考え方はC言語と共通するので習得は容易だと思います。 ちなみに同じサイトにあるTIPS集ではTriple-9でも使われている、他のアプリケーションソフトを操作する方法が解説されているので、これも参考になります。
- -boya-
- ベストアンサー率35% (176/494)
プロではないので参考に。 自作アプリ以外のアプリケーションは、特定の物(操作できるインタフェースが 開示されている物など)を除いて操作できません。 動画編集ソフトでVBから直接操作できる物は私は知りません。 可能な作業としては、ウィンドウの最大化・最小化など、アプリ内部の情報ではなく、 OSで作業している範囲に限られます。 ということなので、他のアプリケーションを操作するには、マウスやキーボードを 操作する方法を取ることになるかと思います。 ・(ウィンドウのハンドルを特定して)ウィンドウを最大化、前面に移動 ・(位置を指定して)カーソルをボタンの位置に移動 ・マウスをクリック/キー入力 という作業をすれば自分で作業をする様に作業を進めてくれます。 ただアプリケーションでの作業状況(動画変換など)などアプリケーション内部の状態を 把握するのは難しいので、「アプリの作業(例えば変換)が終わったら」 という時の状態チェックには工夫が必要です。 次の作業に進む契機として「作業にかかる時間を想定して一定時間待たせる」とか、 ウィンドウタイトルに状態表示されるならウィンドウタイトルをチェックするとか、 アプリケーション毎に工夫する必要があると思います。 APIを使うことになると思うので、APIの本を参考にすると良いと思います。
お礼
やはりマウスやキーボード操作が主体になりますか。 マウス・キーボード操作を自動化するのに、UWSCを勉強したことがあるのですが、参考資料が少なく、いずれ行き詰ると思い、VBなどのきちんとしたプログラミング言語でと考えていたのですが。 APIの本、調べてみたいと思います。 ありがとうございました。
お礼
回答ありがとうございます。 Triple-9。操作を記録させると自動的にスクリプト言語で記録されるのはすごくいいですね。独学の助けになります。 調べてみたいと思います。 ありがとうございました。