• ベストアンサー

プログラミング言語の選択

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

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.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であれば イベントに 新しいメールの受信があったら実行 とかありますので それを活用するなどを検討されたほうが良いと思います。 どの言語が良いとかでなく、一つづつケースバイケースで解決していく方法になると思いますが。

pawn73
質問者

お礼

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

その他の回答 (3)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>Outlook Expressを一時間毎にチェックし、受信したメールに対しそれぞれの送信者に対応した >メッセージを送信したりするといった具合です。 OutLook Express でなく MS-OutLook を使うとVBAという機能が簡単に使えます。 ちょっと検索しただけでも http://www.shoeisha.com/book/hp/pc/office/Outlook/files/text5.html にご希望のサンプルコードがありました。 もう少し凝ったプログラムですと BASP21 で検索してみてください。 http://officetanaka.net/excel/vba/tips/tips46.htm には 受信した内容をエクセルファイルにデータとして保存していくコードがありました。 >プログラム初心者です。 ということですが、いくつかの言語は勉強されたことはありますでしょうか? まったく最初の言語といわれるのであれば VBAを一度勉強されることをお勧めします。 理由は、勉強のためのサイトや実例がサイトでたくさん紹介されているからです。

pawn73
質問者

お礼

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

noname#161640
noname#161640
回答No.2

そんなに難しいことを考えなくとも、JscriptかVBScript + Windows Script Host(WSH)あたりでできそうな気がします。要するに、メールボックスをチェックし、新しいメールがあったらそれに応じてメールを送信すればいいのですよね? なんとかなりそうな気もします。 WSHでメールの送信・受信をする参考例は、さがすといろいろ見つかりますよ。 http://www.atmarkit.co.jp/fwin2k/win2ktips/428wshmail/wshmail.html http://d.hatena.ne.jp/Wacky/20061009/1160379207

pawn73
質問者

お礼

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

noname#131190
noname#131190
回答No.1

他のアプリケーションを制御する方法はいろいろあると思いますが、やはり力業という点ではマウスやキーボードを制御して実際にアプリケーションをクリックしたりメニューを操作する事になるでしょうね。 エレガントとは言えませんが、ある意味Windows らしいともいえます。 でお奨めの言語となるとマウスイベントやキーボードイベントを扱う点からC++やC#となるでしょう。最近は.Net を使いますから、もっとも実装が容易となるC#ですかねぇ。似たようなソフトをいくつか作った事がありますので。 #ただ・・・Thunderbird のメッセージフィルタで上記の処理はやれてしまいますけどね。 メールクライアントを自前で実装する方がラクかもしれません(未確認)。メールサーバーサイドで実装すべき機能という気もしますし・・・。

pawn73
質問者

お礼

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

関連するQ&A

  • プログラミング入門者の選択すべき言語について

    プログラミング入門者の選択すべき言語について 私はプログラミングを始めようと思っているものです。 始めるにあたってまず考えなければならないのが どの言語でプログラムするかと言うことだと思います。 Cやjavaなどたくさん種類がありますが、 まずどれから始めたらいいのでしょう。 とりあえずは円周率を求めたり 計算のできるアプリケーションを作りたいと思っています。 また、それを作るにあたって必要なソフト?なども教えていただけたらうれしいです。 全くの初心者です。 わかりやすくお願いします。

  • プログラミング言語

     プログラムの言語にはそれぞれ得意分野があるようなのですが、例えば家庭用のゲーム等は、何の言語を使って製作しているのですか?特に決まっていないのでしょうか。。。いや、気になっただけなんですけど。PC上のアプリケーションは、javaやC++などでしょうけれど。。。どなたか各言語の実用的な使い道を説明してくださる方、この初心者めに是非ともご教授くださいませ。よろしくお願いします。

  • Outlook Expressの新しいメッセージ作成がバルト言語に

    初めて質問します。よろしくお願いします。 Outlook Express 5を使用していますが、突然、新しいメールを作成しようとすると『バルト言語(Windows)』のHTML形式のメッセージ作成画面が表示されるようになってしまいました。 そのメッセージ画面の[書式]-[テキスト形式]にチェックを入れなおし、同じく[書式]-[エンコード]で[日本語]を選ぶことにより解消されますが、また新たにメッセージを作成しようとすると、同じように『バルト言語』のHTML形式になります。 Outlook Expressのメニューバーの[ツール]-[オプション]から[送信]タブを開き[メール送信の形式][ニュース送信の形式]ともに[テキスト形式]にチェックが入っており、[エンコードの設定]も[日本語]を選択しなおし[適用][OK]ボタンから画面を閉じ、再度メッセージの作成を試みても解消されません。パソコンを再起動してみてもダメでした。 今朝まで問題なくメール作成しており、いったんパソコンの電源を切って午後にOutlook Expressを開いたらこうなっていました。 どうぞよろしくお願いいたします。 PS.[テキスト形式の設定]のところは、[メッセージ形式]『MINE』にチェックが入っており、エンコードの方法は『なし』になっています。ここは触っていませんがこのままでいいのでしょうか。

  • メールが送信できません(マカフィーが原因??)

    outlook express 6 使用で、メール受信は可能ですが、 メールを送信しようとすると、マカフィーのWINDOWが出てきて 以下のメッセージが表示されます。 <<Eメールメッセージの問題>> 1 通または複数の E メールメッセージが送信されませんでした。 詳細 ログを表示 受信者のアドレスの形式を確認してから、ご使用の E メールプログラムでこれらのメッセージを再度送信することをお勧めします。 メールスキャンを解除した状態でも送信はできません。 アカウント設定もやり直しましたが、同じ状況です。 どういう解決方法があるのでしょうか? よろしくお願いします。

  • C言語でチャットプログラミングを・・・

    C言語(unix環境)でチャットプログラミングを作りたいのですが、まずは、TCP/IPによるマルチクライアントで簡単なメッセージのやりとりができるプログラムを練習として作りたいと考えています。 そこでサーバにクライアントからメッセージが届いた時点で全クライアントにメッセージを送信(write)し、逐次更新されるようにしたいのですが、クライアント側で常にread関数を呼び出すのは非常に不格好だし、メッセージを入力するといった他の処理ができなくなると思うのです。 何か方法はありますでしょうか? なにぶんネットワークプログラミングは始めたばかりですので初心者向けの解説をお願いします。

  • メール送信ができません

    outlookでもexpressでも受信はできるのですが送信ができません。送信しようとすると「応答なし」というメッセージが出ます。これはただのプログラムエラーでしょうか?再インストールしないとだめなのでしょうか?

  • Outlook2003ファイル、右クリックよりメールを送る

    Outlook Expressが調子悪くOutlook2003に切り替えたのですが、添付予定のファイルを右クリックして「送る」→「メール受信者」を選択するとOutlook2003ではなくOutlook Expressが立ち上がってしまいます。 受信済みメールの差出人を右クリックしてメール送信を選択した場合も同様でExpressになってしまいます。Outlook2003をリンクするようにするにはどうすればいいでしょうか?ちなみにプログラムのアクセスと規定の設定でOutlook Expressの「このプログラムへのアクセスを有効にする」はチェックをはずしております。切り替えた当初は2003が立ち上がった気がするのですが?よろしくお願いします。

  • Outlook Expressのエラー

    Outlook Expressのエラー Outloook Expressで受信の際に、毎回7月13日のメールを一通(毎回同じ)受信し、残り2/11を受信中というメッセージが出て・・・しばらくして下記のエラーメッセージが出ます。 「サーバーは接続を解除しました。 サーバーまたはネットワークに問題があるか、またはアイドル時間が長すぎた可能性があります。」 送信は問題なくできます。 プロバイダーには、Outlook Expressのアカウントを削除~追加してみてくださいと言われ、やってみると一時的にエラーメッセージは出ませんが、再起動するとまた同じエラーが出ます。 ウィルススキャン(マカフィー)でも異常なしでした。また、スパムキラー(マカフィー)を使っていますが無効にしても同じエラーが出ます。 また、Outlook2003に変えると上記のようなエラーは起こりません。 Outlook Expressを削除し新しくインストールしたほうがいいのでしょうか?削除もしようとしましたが「プログラムの追加と削除」にOutlook Expressが見当たりません。 よろしくお願いします。

  • C言語でのプログラミングについて。

    C言語でのプログラミングについて。 プログラミング初心者です。年月日をパソコン本体から取得する方法が知りたいです。 具体的には、 int_year,month,day; year=○○○○; month=○○; day=○○; のような形にして、○の所にプログラムが自分で引っぱってくるようにしたいです。 初心者で分からない事だらけです。ご協力おねがいします。

  • OUTLOOKから送信できません

    パソコンのことがよく判りません。教えて下さい。 WinXPで、outlook Express6からメールを送信しようとすると、Norton AntiVirusが作動して、メールが送信できずに、送信済みメッセージフォルダへ移動して しまいます。 メールの受信は出来ます。 どうやったら、outlookからメールを送信できるようになるのでしょうか? 誰か、初心者の私にも判るように教えて頂けませんか?

専門家に質問してみよう