dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。
下記の手順をコマンドプロンプト、もしくはVBSを使い
自動作業化しようと考えていますが、方法がわかりません。

(1) 複数のデータが入った「A」というフォルダを、
「+Lhaca」(C:\Program Files\Lhaca\)を使い「A.zip」に圧縮。
(2) 「A.eml」にこの「A.zip」を添付しOutlook Expressにて送信。

どなたか詳しい方、どうぞご教授お願い致します。

A 回答 (2件)

メールの送信はOutlookExpressを使わなくて良いなら、こんな感じで。



Set mail = CreateObject("CDO.Message")
mail.From = "myname@example.ne.jp"
mail.To = "yourname@example.com"
mail.Subject = "Test"
mail.TextBody = "テストメッセージです" & vbCrLf
smtpserver = "smtp.mail.example.ne.jp"
attatch = "C:\temp\A.zip"

schemas = "http://schemas.microsoft.com/cdo/configuration/"
mail.Configuration.Fields.Item(schemas&"sendusing") = 2
mail.Configuration.Fields.Item(schemas&"smtpserver") = smtpserver
mail.Configuration.Fields.Item(schemas&"smtpserverport") = 25
mail.Configuration.Fields.Update
mail.AddAttachment(attatch)
mail.Send

zipの圧縮もVBSだけで出来ます。「wsh zip圧縮」で検索してください。

この回答への補足

ご回答有難うございます。
ご返信が遅れて大変申し訳ございませんでした。

有難うございます。
おかげで、指定ファイルの圧縮→VBSでメールに添付して送信することができました。

しかし、送信が成功するのはネットワークが繋がっている状態の時だけで、未接続の際にはエラーが出るか、何も出ずに失敗します。(当然ですが;)

このコマンドを走らせる目的が、外勤社員のノートPC約100台の管理なのです。クライアントがネットワークに接続されている際にこのメール送信をしてくれれば良いのですが、未接続の際にはそれをコマンド側で判断して、次回ネットワーク接続時にその際作られた添付付きメールを送信する、といった仕組みを作りたいのですが、なかなかそれは無理な相談でしょうか?(_ _;)

ですので、Outolook Expressのemlであれば、ネットワーク未接続時の送信分はエラーを吐いて「送信トレイ」に入り、次回OE起動時に勝手に送信されるので良いかなと思ったのです。。

補足日時:2008/12/05 00:25
    • good
    • 0

Outlook Expressはアクティブコントロールで制御できないので


むずかしいでしょうね。
Outlookならその手の処理が可能だったような記憶があります。

ただVBSであればsendkeysなどでメニューを操作できるので
場合によってはやりようがあるかもしれません。

この回答への補足

ご回答ありがとうございます。
ご返信が遅れて大変申し訳ございませんでした。

残念ながら、Outlookは今回このプログラムを導入しようと考えている全てのPCには入っていませんので不可です。

VBSでOEを操作する方法、できれば詳しく教えて頂けませんでしょうか?;
一応、頂いたアドバイスを元に、圧縮ファイルを作成する所まではできました。あとは、(1)「A.eml」というメールのテンプレートを別に作っておいて(もしくはコマンドで作って)、(2)そのメールにコマンドでこの圧縮ファイルを添付し、(3)「送信」ボタンをコマンドで押せれば良いのですが・・・(_ _;)

補足日時:2008/12/05 00:37
    • good
    • 0

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