• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで、OutlookEXのメール作成)

VBAでEXCELの表からOutlookExpressのメール作成方法について

このQ&Aのポイント
  • VBAを使用してEXCELの表からOutlookExpressのメール作成をするための方法について教えてください。
  • 現在、VBAでEXCELの表からメールを作成しようとしていますが、宛先を表のe-mailアドレスから取得できません。どのように修正すれば良いですか?
  • 私はOutlookを使用していますが、同僚がOutlookExpressを使用しているため、OutlookExpress用のVBAを作成したいと思っています。助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.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 メソッド と同じ綴りになりますので、変数名としては避けた方がよいのではなかったでしょうか?

6338-tm
質問者

お礼

返信遅くなってすみません。 ご回答ありがとうございます。 上記をコピペしたら、希望していた通りになりました!! 「add」の件、知らなかったのでこれから気をつけます。 丁寧にご教示頂き大変感謝致します。 ありがとうございました。

その他の回答 (2)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

>宛先(=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 = "" になっているのでしょうか?

6338-tm
質問者

お礼

ご回答いただきありがとうございました。 書いて下さいました2つの t=~ ですが、 どちらも宛先のところに、add.valueと入ってしまいます。 表には e-mailアドレスが入っているのですが.... もう少し試行錯誤してみます。

  • Tom-3
  • ベストアンサー率32% (42/130)
回答No.1

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に自分のアドレスを追加しておくとよいです。

6338-tm
質問者

お礼

教えて下さったのを試行錯誤していて、お礼が遅くなってすみません。 excelの表からe-mailアドレスを代入したいのですが、 どうもうまく行きません。 折角ご回答頂いたのにすみません。 ありがとうございました。

関連するQ&A