
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>Dim wsList As Worksheet: Set wsList = ActiveSheet 'ThisWorkbook.Sheets("名前")
>名前をシート名に変更すればよいですか?
はい、
Dim wsList As Worksheet: Set wsList =ThisWorkbook.Sheets("名前")
No.2
- 回答日時:
>自分はVBA、ほとんど分かりません。
これを標準モジュールに張り付ければよろしいですか?標準モジュールに張り付け、SendEmailがボタンなどに登録する実行プロシージャになります。
ただ回答したコードは
Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")
などとしていない為、参照設定が必要になります。参考サイトをご覧いただき設定してください。
参考 https://tonari-it.com/vba-outlook-object/
簡単な説明を加えると
Sub SendEmail()内でメールに必要な内容を変数に入れて下記に投げると(必要情報抽出、下記に送らせるの(Range("L3:L36,M5,M40") 'メールアドレス範囲分)繰り返し
Function OL_SendEmail(Mail_To As String, Mail_Cc As String, Mail_Body As String, Mail_Subject As String)で
Mail_To , Mail_Cc , Mail_Body , Mail_Subject の情報を受け取り新規メールを作り送信しています。
Sub SendEmail()は、
件名や本文など改修する必要があります。
例などを参考にテストしてください。
Function部分については下記の部分を設定してください。
.Display '表示不要な場合削除 作成して表示まで
' .Send '送信 ’ を削除すると送信されます。
具体的な表組(添付図)や情報があれば、アドバイスし易くなります。
ありがとうございます。
参照設定は出来ました。
が、説明を読んでもよく分かりません。
Dim wsList As Worksheet: Set wsList = ActiveSheet 'ThisWorkbook.Sheets("名前")
名前をシート名に変更すればよいですか?
No.1
- 回答日時:
Excel,OutlookのVBAの基礎知識があるとして回答いたします。
一括送信を行う場合、メールアドレスを ; で繋げる方法とMailItemを都度作成して送信する方法(厳密には一括ではない)があります。
ご質問の45件の場合、送信宛先、文字数制限に制限され実行できない場合がありますので、
都度作成して送信する方法にした方が良いでしょう。
また、MailItem作成、処理を多く行う場合にメモリースタックのリスクもありますので
実行部分をサブにします。(45件なら問題ないと思いますが)
Dim objOutlook As OutLook.Application
Sub SendEmail()
Dim j As Long, Tgt As Variant
Dim Mail_To As String, Mail_Cc As String, Mail_Body As String, Mail_Subject As String
Dim wsList As Worksheet: Set wsList = ActiveSheet 'ThisWorkbook.Sheets("名前")
Dim rc As Integer
rc = MsgBox("メール配信処理を行いますか?", vbYesNo + vbQuestion, "確認")
If rc = vbYes Then
j = 0
For Each Tgt In wsList.Range("L3:L36,M5,M40") 'メールアドレス範囲
Mail_To = Tgt.Value 'メール宛先
Mail_Cc = ""
Mail_Subject = "" 'メール件名
Mail_Body = "" 'メール本文
'本文例
' Mail_Body =Tgt.Offset(, -3).Value & vbCrLf & _
' Tgt.Offset(, -2).Value & " " & _
' Tgt.Offset(, -1).Value & " 様" & vbCrLf & vbCrLf & _
' ”本文” & vbCrLf & ”署名”
Call OL_SendEmail(Mail_To, Mail_Cc, Mail_Body, Mail_Subject)
j = j + 1
Next Tgt
MsgBox j & "件 送信完了"
If objOutlook Is Nothing Then Set objOutlook = Nothing
Set wsList = Nothing
Set wsMail = Nothing
End If
End Sub
Function OL_SendEmail(Mail_To As String, Mail_Cc As String, Mail_Body As String, Mail_Subject As String)
Dim objMail As OutLook.MailItem
Set objOutlook = New OutLook.Application
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
.To = Mail_To
.CC = Mail_Cc
.Subject = Mail_Subject
.BodyFormat = olFormatPlain 'メールの形式
.Body = Mail_Body
.Display '表示不要な場合削除
' .Send '送信 Test時コメントにする
End With
Set objMail = Nothing
End Function
例 添付図

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) outlookで宛先が異なるメールを一括送信する方法 outlookで200人それぞれをtoに指定し 2 2023/08/03 21:24
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- Excel(エクセル) エクセルVBAについて質問です。 2 2022/12/09 17:59
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) エクセルVBAのコードについて 2 2022/08/10 21:49
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- その他(プログラミング・Web制作) エクセルVBA 18 2022/06/11 17:19
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールの送信場所って分かりま...
-
送信エラー:Undeliverable Mai...
-
VBAでメールにアクティブブック...
-
gmailで送信しても、完了しない
-
Mcafeeインストール済み。zipフ...
-
送信したエントリーシートをも...
-
OCNメール 一斉送信
-
ドコモD252i メールが送れま...
-
メールアドレスの流出について
-
画像
-
Thunderbirdでの送信日時について
-
iCloudのMail dropについてです...
-
プロバイダー解約後のメール送...
-
office outlookでのメールのやり方
-
OEから送信したメールが実際送...
-
メール添付ファイル画像のサイ...
-
OutlookExpress
-
エクセルVBAでメール送信
-
受信メールの添付ファイル忘れ...
-
迷惑メール??
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メールの送信場所って分かりま...
-
送信エラー:Undeliverable Mai...
-
iCloudのMail dropについてです...
-
thunderbirdでのメールの差し込み
-
OCNメール 一斉送信
-
7zipで圧縮して電子メール送信...
-
メールが2週間後に届く
-
mail distributorの 使い方
-
送信済みのメールを再送するには?
-
Mac(OS10/G4) 送信したメール...
-
ダウンロードが遅くなり、期限...
-
Thunderbirdでの送信日時について
-
shuriken Pro4
-
同報メールを探しています
-
メッセージを送信できません(M...
-
メールのアドレス設定について
-
日時を指定してメールを送信したい
-
エクセルでメール送信
-
特定メールサーバーへ送信できない
-
E-mailの自動送信
おすすめ情報