- ベストアンサー
言語でコピペ作業を自動化する方法
- なんらかの言語で、コピペ作業を自動化する方法についての質問です。
- エクセルのセルにあるIDナンバーをコピーして、データベースで検索し、その結果をエクセルに貼り付ける作業を自動化したいです。
- マウスやキーボードの自動化ソフトではうまくいかないため、どの言語を使えば自動化できるか教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ウィンドウの切り替えだけが問題で、 ほかの部分は完全にキー入力で操作でき、 なおかつデータベースのウィンドウ名が固定なら、 SendKeysとFindWindowとSetForegroundWindowと スリープの組み合わせで実現できると思います。 VBAでも可能のようです。 http://blogs.yahoo.co.jp/hatakanajp/28473404.html
その他の回答 (2)
- mdp36
- ベストアンサー率72% (26/36)
「定期的に違うウィンドウがアクティブになる場合」というのがよく分からないのですが、自動入力するキーに「Alt+Tab」を入れてアクティブウィンドウを切り替えるのは駄目なのでしょうか?
補足
たとえば、オフィス用のチャットなどが私たちのパソコンには導入されているのですが、誰かがコンタクトしてきたら、チャットが自動的に最前面のウィンドウになり、ALT+tabをすると、別のウィンドウが開くようになってしまうのです。 そのほかにも定期的にサーバーにバックアップを作成するソフトなどがあるためか、それがALT+TABを使ってもうまくウィンドウが切り替わってくれない場合があるのです。 そのような不安定なものよりも、VBAのACTIVATE.CELL(1,1)のようなコードを使ったほうがより安定した動作を実現できると思うのです。
- rivoisu
- ベストアンサー率36% (97/264)
問題は「業務のデータベース」ですね そのデータベースの中に入れなければちょっと自動化は難しいのじゃないでしょうか。 IDで検索するだけですから、Excelから繋がるDBでその仕様が公開されているならなんとかなると思うのですが、 またはそのDBの必要なところをCSVに落とせるとかできないですかね
補足
そこが実際に大きな問題です。 DB自体は1994年に作られたものですので、エクセルとの連携は難しいとも思います。 またDBは本来検索するためだけに作られたものではなく、IDに関する情報の入力などもできるもので、自分たちがしているのはその一部分だけなのです。多くの人が使っているDBなので、編集をすることは許可が下りません。 CSVというのは、調べてみましたが、おそらくできないのではないかと思います。
お礼
VBAにそんな機能があっただなんて・・・・。 まだまだ勉強が必要なようですね。 ありがとうございます。 今は、まだエクセルの使用許可が下りていないのですが、使用許可が下りて、インストールし次第、ためさせて頂きます。
補足
ところで、親ハンドルというのは何でしょうか?