dポイントプレゼントキャンペーン実施中!

こんにちは。
Excelを使い会員名簿を管理しています。
会員宛てにメールを送信する際、現在は都度Excel名簿内のアドレスをコピーしてから作成済みのメールの宛先欄に貼り付けをしています。
頻繁に作業が発生し人数も多いため自動的にこの作業が処理できるようしたいのです。
関数とマクロの記録を使って、c列に並ぶ複数の会員のアドレスを連結させコピーするまではできました。しかし、そこから次の操作ができず行き詰っています。
 (1)同じフォルダ内にあらかじめ作成済みのOutlook文書(拡張子.eml)を開く。
 (2)BCC欄にアドレスを貼りつける。

Excelから外に出るのでVBA構文で何か手はありませんでしょうか?
VBAの知識が乏しく見当がつかないのですが、構文をVBAに入力するなどはできます。
どうかお知恵をお貸しください。お願いいたします。

A 回答 (2件)

ExcelのVBAでのOutlook操作は結構厄介です。


新規メールの作成は簡単なのですが、既に作成されているメール文書の操作というのがなかなか出来ませんでした。
Outlookの下書きフォルダに入っているものであれば取り出す事が出来ました。

Bccの設定は下記でやっていますので、そこで既にできている複数アドレスを入れて下さい。
objMAILITEM.BCC = "x,y,z"

Sub Sample()
Dim oApp As Object
Dim myNameSpace As Object
Dim myFolder As Object
Dim objMAILITEM As Object
Application.ScreenUpdating = False
Set oApp = CreateObject("Outlook.Application")
Set myNameSpace = oApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(16)
Set objMAILITEM = myFolder.Items(1)
objMAILITEM.BCC = "x,y,z"
objMAILITEM.Display '表示
objMAILITEM.Save
'objMAIL.Send '送信
objMAILITEM.Close 0
Set objMAILITEM = Nothing
Set myFolder = Nothing
Set myNameSpace = Nothing
Set oApp = Nothing
Application.ScreenUpdating = True
End Sub
    • good
    • 0
    • good
    • 0

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