プロが教えるわが家の防犯対策術!

ExcelのVBAからBecky!を介してメイルを発送しようとしています。以下はBecky!の関連web siteから持ってきたコードです。しかし、これだとメイルを書く状態、あるいは送信箱に格納するところまでは行くのですが、メイルが発送されません。発送するには自分で「受信箱から送信」などのメニューを実行する必要があります。どうしたらマクロの実行だけでメイルを発送させることができるか教えてください。
Private Sub CommandButton1_Click()
ActiveWorkbook.Save
Set mapiSession = CreateObject("MSMAPI.MAPISession")
Set mapiMessages = CreateObject("MSMAPI.MAPIMessages")
mapiSession.SignOn
With mapiMessages
.SessionID = mapiSession.SessionID
.Compose
' .AttachmentPathName = ActiveWorkbook.FullName
.RecipAddress = ActiveSheet.Range("hoge@mail.com")
.MsgSubject = "シート"
.MsgNoteText = "abcdefghijklmnopqrstuvwxyz"
' .Send (False)
.Send (True)
End With
mapiSession.SignOff
End Sub

A 回答 (2件)

こんばんは。



>それだとメイルを書く状態、あるいは送信箱に格納するところまでは行くのですが、メイルが発送されません。

私は、どのメーラーもセキュリティがあって、同じだと思っていました。コードの中の、' .Send (False) と .Send (True)を入れ替えたらどうなるのでしょうか? False にすると、ダイアログボックスを待たないで送信すると、MSDN には書かれていましたが、試していないので分かりません。

その前に、私はVBAで、メーラーを経由して送ることは考えたことがありませんね。ふつうは、Officeだったら、SendMail などを使うのではないでしょうか?

最近は、Excel VBA ユーザーは、もっぱら BSMTP.DLL のほうを勧めているようですが。

参考URL:http://www.hi-ho.ne.jp/babaq/bsmtp.html

この回答への補足

解答、ありがとうございます。さっそく試してみて結果を報告させて頂きます。

補足日時:2005/07/08 00:21
    • good
    • 1
この回答へのお礼

BSMTP.DLLを試したところ、非常に簡単に動作しました。快適です!ありがとうございました。

お礼日時:2005/07/08 19:27

Beckyを使わないといけないのでしょうか?


もしメールを送りたいだけならこんなコマンドラインツールがあります。

参考URL:http://www.spencernetwork.com/CommonGatewayInter …

この回答への補足

解答、ありがとうございます。さっそく試してみて結果を報告させて頂きます。

補足日時:2005/07/08 00:20
    • good
    • 0
この回答へのお礼

試してみましたが、VBAからの使用方法が分かりませんでした。…ということでこちらの方法ではダメでした。教えていただき、ありがとうございました。

お礼日時:2005/07/08 19:28

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

このQ&Aを見た人はこんなQ&Aも見ています