アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。

EXCELで、ワークシートのある部分に"MAILADDRESS"という名前を付け、
そこにメールアドレスを入れます。
同じブック内の別ワークシートをcsv形式で保存して、"MAILADDRESS"に入力されている
メールアドレスにおくるというVBAの命令を書いて下記の通りとしてみました。
プログラムはエラーの表示がされず終わるのですが、メールを送ってくれません。
何故でしょうか?教えて下さい。

MAILADDRESSのセルはデータの最後に"EOL"という文字列を入力しています。


Dim R As Range
For Each R In Range("MAILADDRESS")
If R.Value <> "EOL" Then
ActiveWorkbook.SendMail Recipients:=R.Value
End If
Next R


Excelのバージョンは2002 SP3です。

A 回答 (2件)

ActiveWorkbook.SendMail Recipients:=


の後は、
宛先が 1 か所だけのときは宛先名を文字列として指定し、
宛先が複数のときは宛先名を文字列の配列として指定しますから、
原因は、配列に入れてないからだと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2005/05/01 09:16

>同じブック内の別ワークシートをcsv形式で保存して、


>ActiveWorkbook.SendMail

この場合のActiveWorkbook に、csvファイルとしての実体がないと思います。
Bsmtp.dll を使って、添付ファイルにしてみたらどうですか?

MS-Excelテクニック:
http://homepage1.nifty.com/gak/MSTips/multimail. …
(IKEDABBS ホーム:http://homepage1.nifty.com/gak/)

参考URL:http://homepage1.nifty.com/gak/MSTips/multimail. …
    • good
    • 0
この回答へのお礼

ありがとうございました。

For Each R In Range("MAILADDRESS")
If R.Text <> "EOL" Then
ActiveWorkbook.SendMail Recipients:=R.Text
End If
Next R

とすると、送れるようになりました。

お礼日時:2005/05/01 09:17

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