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

EXCEL2007とOutlook2007を使用しています。

私の既存の顧客2000名に対して

次のようなプログラムで、エクセルのメールリストから

複数のアドレスに自動で送信をしたいと考えています。

プログラムは無事動くのですが、

送信の際、1件ずつOutlookの方から

「プログラムによって電子メール メッセージが送信されようとしています。これが予期しない動作である場合は[拒否]をクリックして・・・」

という警告が表示されます。

いちいち「許可」をクリックしないと、次のメッセージ送信に進まないので、困っています

これを出さずに、メッセージを送信したいのですが

どのような設定をすればよいのでしょうか?


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Sub Macro1()

Dim objOutlook As Object
Dim objMsg As Object
Dim myAttachments As Object
Dim sender As String

sender = 1

Do


Set objOutlook = CreateObject("Outlook.Application")
Set objMsg = objOutlook.CreateItem(0)
Set myAttachments = objMsg.Attachments

objMsg.To = Range("G1").Offset(sender, 0).Value
objMsg.Subject = Range("AA1").Value
objMsg.Body = Range("AA2").Value & Chr(10) & Chr(10) & _
Range("AA3").Value & Chr(10) & _
Range("AA4").Value & Chr(10) & _
Range("AA5").Value
objMsg.Send
Range("G1").Offset(sender, 3).Value = "=now()"

sender = sender + 1

Loop Until sender > Range("AB1").Value

Set objOutlook = Nothing
Set objMsg = Nothing

Columns("J:J").Select
Selection.Copy
Columns("J:J").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

End Sub

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

A 回答 (1件)

こんばんは。



たぶん、同じ回答は、ここのカテゴリにあるはずですが、CreateObject("Outlook.Application")
である場合は、セキュリティの関係で、どうしようもありません。通常、VBAやVBで、送信する場合は、

BASP21
http://www.hi-ho.ne.jp/babaq/basp21.html

SendMail メール送信
FlushMail メール一括送信
というのが、定番です。

BASP21を利用したメール送信
http://www.independence-sys.com/weblog/item/35
    • good
    • 0

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

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