- ベストアンサー
VBAでEXCELの表からOutlookExpressのメール作成方法について
- VBAを使用してEXCELの表からOutlookExpressのメール作成をするための方法について教えてください。
- 現在、VBAでEXCELの表からメールを作成しようとしていますが、宛先を表のe-mailアドレスから取得できません。どのように修正すれば良いですか?
- 私はOutlookを使用していますが、同僚がOutlookExpressを使用しているため、OutlookExpress用のVBAを作成したいと思っています。助けてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >書いて下さいました2つの t=~ ですが、 >どちらも宛先のところに、add.valueと入ってしまいます。 ん? それは不思議な現象ですねぇ。 きっと、6338-tm さんが、ご質問文内にお書きになった コード を弄くり回された結果かと存じますが、 t = ~~ mailurl:mailto: add ?bcc=~~ の部分が、 t = ~~ mailurl:mailto: add.value ?bcc=~~ になっているのと違いますか? 私が前回答でお示しした内容は、ダブルクォーテーションマーク の有無を問題にしていますので、何でしたら、下記でお試しになってみてください。 Sub outlookexpress用メール作成() Dim Subj As String Dim BodyText As String Dim t As String Dim cellGyo As Integer Dim add As String For cellGyo = 2 To 100 Cells(cellGyo, 6).Select add = Selection.Value If add = "" Then Exit For End If Subj = "展示会のご案内" BodyText = Cells(2, "G") t = "C:\Program Files\Outlook Express\msimn.exe /mailurl:mailto: " & add & " ?bcc=""""&subject=" & Subj & "&body=" & BodyText & "%20" MsgBox t Shell t Next cellGyo End Sub ところで、「Dim add As String」ですが、「add」というのは、VBA・Excel・Office の Add メソッド と同じ綴りになりますので、変数名としては避けた方がよいのではなかったでしょうか?
その他の回答 (2)
- DOUGLAS_
- ベストアンサー率74% (397/534)
>宛先(=add)のところが、どうしても表のe-mailアドレスの値を代入できません。 状況が、よく解りませんが。。。 t = ~~ Shell t のところを t = "C:\Program Files\Outlook Express\msimn.exe /mailurl:mailto: " & add & " ?bcc=""""&subject=" & Subj & "&body=" & BodyText & "%20" Shell t とするか、または、 t = "mailto: " & add & " ?bcc=""""&subject=" & Subj & "&body=" & BodyText & "%20" ActiveWorkbook.FollowHyperlink t とするみたいなことでしょうか? それとも、 Cells(cellGyo, 6).Select add = Selection.Value の時点で add = "" になっているのでしょうか?
お礼
ご回答いただきありがとうございました。 書いて下さいました2つの t=~ ですが、 どちらも宛先のところに、add.valueと入ってしまいます。 表には e-mailアドレスが入っているのですが.... もう少し試行錯誤してみます。
- Tom-3
- ベストアンサー率32% (42/130)
OutlookExpressに限定しないのであれば以下のように記述を行う事でメールを送信できます。 DIM oMsg as object Set oMsg = CreateObject("CDO.Message") oMsg.From = "MyMailaddress@hoge.ne.jp" oMsg.To = "hogehoge@hoge.ne.jp;hogehoge2@hoge.ne.jp" oMsg.BCC = "MyMailaddress@hoge.ne.jp" oMsg.Subject = "Test " oMsg.TextBody = "本文です"& vbCrLf & Now oMsg.Send ※ 送信先メールアドレスは「;」で区切ります。 ※ 送信済みアドレスにメールが残らないので送信される場合は、BCCに自分のアドレスを追加しておくとよいです。
お礼
教えて下さったのを試行錯誤していて、お礼が遅くなってすみません。 excelの表からe-mailアドレスを代入したいのですが、 どうもうまく行きません。 折角ご回答頂いたのにすみません。 ありがとうございました。
お礼
返信遅くなってすみません。 ご回答ありがとうございます。 上記をコピペしたら、希望していた通りになりました!! 「add」の件、知らなかったのでこれから気をつけます。 丁寧にご教示頂き大変感謝致します。 ありがとうございました。