プロが教える店舗&オフィスのセキュリティ対策術

WIN XP, EXCEL2002, メーラーはOUTLOOK2002を使っています。
EXCELマクロで複数のEMAIL宛先を指定することはできますか?

ActiveWorkbook.SendMail Recipients:="email@*****.co.jp", Subject:="test"
にてひとつの宛先の場合はちゃんと送信できましたが、複数の宛先を指定する方法が分かりません。
よろしくお願いいたします。

A 回答 (2件)

以下のようにすると、1本のメールを複数人に送れます。



Dim Str(4) As String
Str(0) = "email0@*****.co.jp"
Str(1) = "email1@*****.co.jp"
Str(2) = "email2@*****.co.jp"
Str(3) = "email3@*****.co.jp"
ActiveWorkbook.SendMail Recipients:=Str, Subject:="test"

または

ActiveWorkbook.SendMail Recipients:="email0@*****.co.jp,email1@*****.co.jp,email2@*****.co.jp,email3@*****.co.jp", Subject:="test"

最初のは#2の方の回答と似ていますが、#2の方の回答は1本のメールを4人に送るのではなく、4本のメールを単独で1人ずつに送っています。

この回答では、1本のメールを4人に送っています。

「送った相手に、誰々に送っているのか、知らせたい」場合は1本のメールで済ませます。

「送った相手に、誰々に送っているのか、知らせたくない」場合は、個別に4本で送ります。

1本で済ますか個別に送るかは、場合に合わせて使い分けた方が良いでしょう。
    • good
    • 2
この回答へのお礼

chie65536さん、

最初の方に教えていただいた方で完全に希望通りの動作ができました。ありがとうございます。

実は私も2番目と同じ方法を試していたのですが、正しいメールアドレスを入れてOUTLOOK2002、Outlook Expressの双方で試してみましたが、
「宛先一覧の中に存在しない名前が含まれています。正しい名前を指定して、もう一度実行してください。」
というメッセージが出てしまい、送信できずに困っていたところでした。私の環境が悪いのかな?

お礼日時:2004/01/16 17:03

Sub Test()


Dim Str(3) As String
Dim a As Integer
For a = 0 To 3
Str(0) = "0email@*****.co.jp"
Str(1) = "1email@*****.co.jp"
Str(2) = "2email@*****.co.jp"
Str(3) = "3email@*****.co.jp"
ActiveWorkbook.SendMail Recipients:=Str(a), Subject:="test" & a
Next a
End Sub
    • good
    • 0
この回答へのお礼

primari5869さん、
ありがとうございました。うまく送信できました。

お礼日時:2004/01/16 16:48

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