プロが教えるわが家の防犯対策術!

WIN2000 OfficeXpです。
エクセルのマクロを使って、マイクロソフトアウトルックのメールを作成したいのですが、
あるシートの
 A1
を件名に
 A2:D2
の範囲を本文に貼り付けるマクロはありますか?
宛先入力、送信は手動でできるように設定したいのですが。
よろしくお願いします。

A 回答 (3件)

詳細は、Outlook のVBAを参照してください。



>Set oApp = CreateObject("Outlook.Application")

参考URL:http://www.ken3.org/cgi-bin/group/vba_outlook.asp
    • good
    • 0
この回答へのお礼

ありがとうございます。
勉強になります。

お礼日時:2005/04/10 21:11

MAPI APIを使えば実現できるはずです。



次の参考URLを参考にしてください。

http://www.remus.dti.ne.jp/~shenron/access/knowh …

http://support.microsoft.com/kb/163216/ja

http://www.microsoft.com/japan/msdn/office/offic …
    • good
    • 0
この回答へのお礼

ありがとうございます。
勉強になります。

お礼日時:2005/04/10 21:12

こんな感じで如何でしょうか。



本文の範囲の "A2:D2"は、1セルずつ改行するのかな?
しないのなら最後から5行目の "& vbLf"を削除してください。

[ツール]-->[参照設定] で 「Miscosoft Outlook 9.0Object Library」にチェックを入れます。

Sub CreateMail()
'--------- 設定事項 ---------
  '参照設定 : Miscosoft Outlook 9.0Object Library
  Const ShName = "Sheet1"
  Const SbjAdd = "A1"
  Const BodyAdd = "A2:D2"
'----------------------------
  Dim olApp As Outlook.Application
  Dim objMail As Outlook.MailItem
  Dim Rng As Range
  Dim StrBody As String
  Set olApp = Outlook.Application
  Set objMail = olApp.CreateItem(olMailItem)
  For Each Rng In Range(BodyAdd)
    StrBody = StrBody & Rng.Value & vbLf
  Next Rng
  With objMail
    .Subject = Worksheets(ShName).Range(SbjAdd).Value
    .Body = StrBody
    .Display
  End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
完璧にできました。
これを応用いろんな設定してみます。

お礼日時:2005/04/10 21:11

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