- ベストアンサー
エクセルでメール作成
WIN2000 OfficeXpです。 エクセルのマクロを使って、マイクロソフトアウトルックのメールを作成したいのですが、 あるシートの A1 を件名に A2:D2 の範囲を本文に貼り付けるマクロはありますか? 宛先入力、送信は手動でできるように設定したいのですが。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じで如何でしょうか。 本文の範囲の "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
その他の回答 (2)
MAPI APIを使えば実現できるはずです。 次の参考URLを参考にしてください。 http://www.remus.dti.ne.jp/~shenron/access/knowhow/MAPIAPI.html http://support.microsoft.com/kb/163216/ja http://www.microsoft.com/japan/msdn/office/office2003/odc_ac_olauto.asp
お礼
ありがとうございます。 勉強になります。
- hana-hana3
- ベストアンサー率31% (4940/15541)
詳細は、Outlook のVBAを参照してください。 >Set oApp = CreateObject("Outlook.Application")
お礼
ありがとうございます。 勉強になります。
お礼
ありがとうございます。 完璧にできました。 これを応用いろんな設定してみます。