• 締切済み

VBSでOutlookExpressを操作しメールを送信する方法

いつもお世話になっております。 以下の手順で、メールに指定のZIPファイルを添付してOEで送信させたいのですが方法が分かりません。OEはアクティブコントロールで制御できないので、VBSのsendkeysなどでメニューを操作してできないかと考えているのですが(-_-;)どなたかお詳しい方、ご教授お願い致します。  (1-1)「Report.zip」という圧縮ファイルを添付した「Mainte-***.eml」(*にはPC名)というメールを作成。  (1-2)Outlook Expressを使い「送信」。 ※もしくはVBSかコマンドプロンプトを使って、  (2-1)「Mainte.eml」という空のメールを予め作っておいて、コマンドで開き、『そこへ「Report.zip」を添付』。←『』の方法が分かりません。  (2-2)Outlook Expressを使い「送信」。

みんなの回答

  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

WSH VBScript又はJScriptでメールを送信するのでしたら、OE(Outlook Express)をSendKeysで操作するよりもCDOを使った方が確実です。CDOはWindows2000以降、XPでもVistaでも使えます。具体的なコードは「CDO Message」などで検索してみて下さい。 件名や本文はもちろんファイルの添付も自由自在です。 自分のOEに履歴を残したいのでしたらCCかBCCを付けて送信し、受信すればよいでしょう。 ----- ご承知かと思いますがSendKeysのキー操作はそのときにアクティブなウィンドウに送られます。すなわち目的のウィンドウをいかにアクティブにしておくかがSendKeysの成功を左右するのですけれども、WSHではウィンドウをアクティブにする方法はAppActivateでタイトルを指定するしかありません。同じタイトルのウィンドウが複数存在した場合、どれが選ばれるかは不定です。 また、スクリプトが動作している最中に何らかの要因でアクティブなウィンドウが変わってしまったら誤動作することになります。 ですから、SendKeys以外の手段があるなら、SendKeysは避けた方が賢明です。 ----- しかし、どうしてもOE + Sendkeysで実現したいということなら(2-1)(2-2)の方法でできるでしょう。作成中のemlファイルを開いた際には(Windows XPではレジストリを操作しておかなければなりませんが)、OEのメール作成画面が現れてアクティブになるでしょうから、続くSendKeysも成功すると思います。ALT、I、Aキーを送ってやれば添付ファイルの挿入画面が現れ、ファイルの添付も可能だと思います。 (1-1)は圧縮ファイルを添付したemlファイルを作成するのが難しそうです。

関連するQ&A

専門家に質問してみよう