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

Excelで件名や本文を指定して、
Outlook Expressでメールを送信しようとしています。

mailtoを使って指定を行っているのですが、
bodyの内容によってはリンク先がExcelのシート自体になってしまい、
OEが起動してくれません。
同じ内容のmailtoをHTMLのAタグの中に書くとちゃんと起動するので、
書き方が間違っていると言うわけではなさそうです。
Excelの方で何か制限があるのかもと思ったのですが、
ご存知の方がいらっしゃいましたら教えていただけないでしょうか?

よろしくお願いいたします。
また、本文は雛形部分だけをExcelで入力して
後からOEで本文、Ccを付け足したいので、
SendMailを使って直接送ってしまうという方法は避けたいと思っています

A 回答 (1件)

質問しておられる方向からの回答ではないので、済みませんが、ある


WEBの記事を見つけてやってみました。
参考になれば。
Sub test01()
件名 = "見積書の件"
宛先 = "xxxx@XXXX.ne.jp"
本文 = "工事のお見積もりを依頼します"
s = "C:\Program Files\Outlook Express\msimn.exe /mailurl:mailto:" & 宛先 & "?subject=" & 件名 & "&body=" & 本文 & "%20"
Shell s
End Sub
これを実行すると
宛先=宛先メイルアドレス
件名=見積書の件
本文=工事の見積もりを依頼します
と入ったアウトルックエクスプレスのメイル送信の画面になります。
>本文は雛形部分だけをExcelで入力して
後からOEで本文、Ccを付け足したいので、・・
その作業を手作業で行ってください。
その後「送信」ボタンをクリックし、送受信をクリックすると、送信されました。
ーー
質問の場合は、
エクセルの、セルの値から、宛先、件名、本文を代入すればよいと思います。
ーー
ただエクセルの複数行データ(複数宛先あて順次)繰り返して自動でやる方法は、私に力なくいまは判りません。
    • good
    • 0
この回答へのお礼

遅くなってしまって申し訳ありません。
教えていただいた方法にWait処理などを足して、解決できました。
ありがとうございます!

ちなみに、複数行のbodyは下限のセルを用意してその上に書いておき、

Do Until Cells(i, 1) = "ここまで"
body = body & "%0d%0a" & Cells(i, 1)
i = i + 1
Loop

のような感じで実現しています。

お礼日時:2006/06/21 00:06

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