プログラム初心者です。
Window上で動くアプリケーションを自分の作ったプログラムで、制御したいと思います。
例えば、Outlook Expressを一時間毎にチェックし、受信したメールに対しそれぞれの送信者に対応したメッセージを送信したりするといった具合です。
 初心者の私が組めるかどうかはとりあえずおいておいて、上記のようなプログラムを組む場合に適した言語を教えていただければと思います。具体的に理由も書いていただけるとあいがたいです。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

>VBAで外部のプログラムが監視、制御できるかどうか


監視と制御というのがどういうことかわかりませんが
今起動しているアプリケーションの一覧を得るには
http://officetanaka.net/excel/vba/tips/tips61.htm
にありました。
ほかのアプリケーションを起動するには
http://www.moug.net/tech/exvba/0100034.htm
にありました。
しかし、ほかのアプリを起動した後に操作するには
それぞれのアプリケーションによるので
それからは 本当に力技になります。
Office製品、windows関連ならば それぞれのVBAあるいはWHSなどを駆使して可能ではあります。
実例ですが
エクセルからアクセスのデータテーブルに追加、変更、削除
VBSを使って IEを制御して Webで自動でログイン
エクセルからOutLookを使って 自動でメールを送信
などを行ったことがあります。

そのほか OutLookであれば
イベントに 新しいメールの受信があったら実行 とかありますので
それを活用するなどを検討されたほうが良いと思います。
どの言語が良いとかでなく、一つづつケースバイケースで解決していく方法になると思いますが。
    • good
    • 0
この回答へのお礼

メインでやりたかったことがエクセルのデータから参照してIEで検索、検索した結果をまたエクセルに記録するという作業でしたので、教えていただいた回答はとても参考になりました、ありがとうございました。

お礼日時:2011/04/19 00:19

>Outlook Expressを一時間毎にチェックし、受信したメールに対しそれぞれの送信者に対応した


>メッセージを送信したりするといった具合です。
OutLook Express でなく MS-OutLook を使うとVBAという機能が簡単に使えます。
ちょっと検索しただけでも
http://www.shoeisha.com/book/hp/pc/office/Outloo …
にご希望のサンプルコードがありました。
もう少し凝ったプログラムですと BASP21 で検索してみてください。
http://officetanaka.net/excel/vba/tips/tips46.htm
には
受信した内容をエクセルファイルにデータとして保存していくコードがありました。

>プログラム初心者です。
ということですが、いくつかの言語は勉強されたことはありますでしょうか?
まったく最初の言語といわれるのであれば
VBAを一度勉強されることをお勧めします。
理由は、勉強のためのサイトや実例がサイトでたくさん紹介されているからです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
申し訳ありません、No2さんのお礼に詳しく書いたのですが例え話は私のやりたいことの一部でした。複数のアプリを同時に監視、制御したいと考えています。
プログラム経験はCの基礎を学び、ちょっとしたプログラムを組んだ程度です。VBAはまるっきりの独学でエクセル内で少し活用しています。
 お時間ありましたら、VBAで外部のプログラムが監視、制御できるかどうか教えていただけますか?お願いします。

お礼日時:2011/04/16 21:39

そんなに難しいことを考えなくとも、JscriptかVBScript + Windows Script Host(WSH)あたりでできそうな気がします。

要するに、メールボックスをチェックし、新しいメールがあったらそれに応じてメールを送信すればいいのですよね? なんとかなりそうな気もします。

WSHでメールの送信・受信をする参考例は、さがすといろいろ見つかりますよ。

http://www.atmarkit.co.jp/fwin2k/win2ktips/428ws …
http://d.hatena.ne.jp/Wacky/20061009/1160379207
    • good
    • 0
この回答へのお礼

迅速なご回答ありがとうございます。
説明不足な点があり申し訳ないのですが、質問の例えだけでなくメールソフト以外の複数のアプリを同時に監視、制御もやりたいと考えております。
 よくネットで調べ物をするのですが、自分が画面を見て反応しマウスをクリックしたりキーを叩いたりする一連の行動が、ワンパターンに近い行動だと気がつきました。
それでプログラムによって自動化し作業効率を上げられないかと考えました。
 教えていただいたScriptは一読してみたいと思います。ありがとうございました。

お礼日時:2011/04/16 21:12

他のアプリケーションを制御する方法はいろいろあると思いますが、やはり力業という点ではマウスやキーボードを制御して実際にアプリケーションをクリックしたりメニューを操作する事になるでしょうね。



エレガントとは言えませんが、ある意味Windows らしいともいえます。

でお奨めの言語となるとマウスイベントやキーボードイベントを扱う点からC++やC#となるでしょう。最近は.Net を使いますから、もっとも実装が容易となるC#ですかねぇ。似たようなソフトをいくつか作った事がありますので。


#ただ・・・Thunderbird のメッセージフィルタで上記の処理はやれてしまいますけどね。


メールクライアントを自前で実装する方がラクかもしれません(未確認)。メールサーバーサイドで実装すべき機能という気もしますし・・・。
    • good
    • 0
この回答へのお礼

迅速なご回答ありがとうございます。まだ初心者ゆえに全てを理解できませんが調べながら参考にさせていただきたいと思います。
もしまたお時間があれば教えていただきたいのですが、他のプログラムの監視もC#では可能なのでしょうか?お願いします。

お礼日時:2011/04/16 20:38

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング