現在、使用しているVBAを利用したメンバー向け案内メール配信で、ファイルを添付できないかと考えております。
G列に入力したアドレスのファイルを添付して送信できればと思うのですが、ご教授願えませんでしょうか。
現在のVBAは企業名、宛先共に変えられるように下記のような形となっております。
添付ファイルも宛先毎に異なります。
B列:送信先メールアドレス
C列:メール件名
D列:送信先所属名
E列:送信先宛名
F列:メール本文
コマンドボタンで一括配信となっております。
【以下記述】
Sub Mail_Send()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Dim i, LastRow As Integer
' CDOオブジェクト初期設定
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/s … = 2
.Item("http://schemas.microsoft.com/cdo/configuration/s … = Worksheets("Sheet1").Range("C2").Value
.Item("http://schemas.microsoft.com/cdo/configuration/s … = Worksheets("Sheet1").Range("C3").Value
.Update
End With
' 送信範囲設定
LastRow = Worksheets("Sheet1").Range("B7").End(xlDown).Row
' メール送信ループ
For i = 8 To LastRow
' 送信状況メッセージクリア
Worksheets("Sheet1").Range("F2").Value = ""
' メール本文作成
strbody = Worksheets("Sheet1").Range("D" & i).Value & vbCrLf & " " & _
Worksheets("Sheet1").Range("E" & i).Value & " 様" & vbCrLf & vbCrLf & _
Worksheets("Sheet1").Range("F" & i).Value
' 改行変換(送信環境によってはここの修正が必要かも)
tmpstrbody = Replace(strbody, vbLf, vbCrLf)
strbody = Replace(tmpstrbody, vbCr & vbCrLf, vbCrLf)
' メール送信
With iMsg
Set .Configuration = iConf
.From = Worksheets("Sheet1").Range("C4").Value
.To = Worksheets("Sheet1").Range("B" & i).Value
.BCC = Worksheets("Sheet1").Range("C5").Value
.Subject = Worksheets("Sheet1").Range("C" & i).Value
.TextBody = strbody
.Send
End With
' 送信状況メッセージ更新
Worksheets("Sheet1").Range("F2").Value = Worksheets("Sheet1").Range("B" & i).Value & " まで送信成功!"
' 3秒停止
Application.Wait [ NOW() + "0:00:03" ]
Next i
End Sub
No.2ベストアンサー
- 回答日時:
確認していませんが、こんな感じで出来たと思います。
・・・
.From = Worksheets("Sheet1").Range("C4").Value
.To = Worksheets("Sheet1").Range("B" & i).Value
.BCC = Worksheets("Sheet1").Range("C5").Value
.Subject = Worksheets("Sheet1").Range("C" & i).Value
.Attachments.Add Worksheets("Sheet1").Range("G" & i).Value'←ここ
.TextBody = strbody
・・・
No.3
- 回答日時:
原因はわかりませんがとりあえず、昔作成したVBAです。
今でも。(OutLook2002でも)作動はしました。
Microsoft Outlook 10.0 Object Library にチェックが入っていました。
Sub ボタン1_Click()
'********* OutLook2000を使ってメールを送る *********
'### 使用するクラスを宣言
Dim myOLApp As Object
Dim myDATA As MailItem
'### OUTLOOKのオブジェクトを作成後、メールを新規作成する。
Set myOLApp = CreateObject("Outlook.Application")
Set myDATA = myOLApp.CreateItem(olMailItem)
'### メールの宛先、題名、本文、添付ファイルを設定する。
'(宛先のアドレス)
myDATA.To = Range("B3").Value
myDATA.CC = Range("F3").Value
myDATA.Subject = Range("C3").Value
myDATA.Body = Range("D3").Value + Chr(13)
myDATA.Attachments.Add Range("G3").Value
'### メールを送信
myDATA.Send
'### お約束の後始末。
Set myDATA = Nothing
Set myOLApp = Nothing
End Sub
参考にしてください。
VBAの参照設定を確認してみたところ、
Microsoft CDO for Windows 2000 Libraryにチェックが入っておりませんでした。
チェックを入れたところ、先にアドバイス頂いた記述で機能致しました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
宛先の「'」(アポストロフィー)
-
NICを2枚さしたときのパケット...
-
メール送信直後に『Delivery St...
-
EメールでBCCのみで送信できま...
-
BCCで一括メール送信のエラーに...
-
一斉送信のリストが作成出来る...
-
メール送信 一部宛先エラー
-
BCCで送信したあと、誰に送った...
-
メールはBCCだけでも届くものな...
-
下書きメールが消えてしまいました
-
Outlook Expressで送信時に宛先...
-
エクセルに「メール送信ボタン...
-
Outlook 送信済みメールの保存...
-
携帯電話メールの一斉送信について
-
Gmail 勝手にメールが送信される
-
アウトルック一斉送信の仕方
-
「その後どうなりましたか?」...
-
iPhoneのメッセージで緑の吹き...
-
アウトルックの受信トレーの赤...
-
iPhoneのiMessage 配信済みにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
宛先の「'」(アポストロフィー)
-
NICを2枚さしたときのパケット...
-
エクセルで、勝手にメール送信...
-
メール送信直後に『Delivery St...
-
EメールでBCCのみで送信できま...
-
エクセルからメールを送信する...
-
BCCで送信したあと、誰に送った...
-
送信済みフォルダの新規フォル...
-
メール送信 一部宛先エラー
-
下書きメールが消えてしまいました
-
一斉送信のリストが作成出来る...
-
BCCで一括メール送信のエラーに...
-
Gmail 勝手にメールが送信される
-
メールのヘッダー
-
エクセルに「メール送信ボタン...
-
一度送信したアドレスをアドレ...
-
携帯電話メールの一斉送信について
-
EXCEL VBA メール送信でファイ...
-
BCCの返信
-
メールはBCCだけでも届くものな...
おすすめ情報