VBAは全く分からず、現在使用しているのは、調べたものをそのままコピーして今の形式に合うようにシート名やらセル名を入替えて使っているものです。
色々調べて、添付できるように .addattachment Range("G8") と Set iMsg = Nothing を追加したところ、一人目には問題なく送信できたんですが、2人目からエラーになります。
●実行エラー‘91‘:オブジェクト変数またはWithブロック変数が設定されていません。
デバッグすると、 Set .Configuration = iConf が黄色くハイライトされます。
他の方の一斉送信を見てみると、これで動作している方もいるようなので、どこをどうしていいのか全く分からず途方にくれています。
これができないと、手動でひとりずつメールに添付するか、一斉送信の生きてる1行目にひとりずつコピペして送信するという恐ろしい作業になってしまいます。
どなたか、お詳しい方、お助け下さいm(_ _)m
以下、宜しくお願い致します。
シート名 イレギュラーメール
B8~ 送信先メアド
C8~ メール件名
D8~ 送信先団体名
E8~ 送信先宛名
F8~ メール本文
G8~ 添付ファイル
Sub イレギュラーメール()
'
' イレギュラーメール Macro
'
' 変数設定
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("イレギュラー").Range("C2").Value
.Item("http://schemas.microsoft.com/cdo/configuration/s … = Worksheets("イレギュラー").Range("C3").Value
' .Item("http://schemas.microsoft.com/cdo/configuration/s … = 1
' .Item("http://schemas.microsoft.com/cdo/configuration/s … = "あなたのユーザーID"
' .Item("http://schemas.microsoft.com/cdo/configuration/s … = "あなたのパスワード"
.Update
End With
' 送信範囲設定
LastRow = Worksheets("イレギュラー").Range("B7").End(xlDown).Row
' メール送信ループ
For i = 8 To LastRow
' 送信状況メッセージクリア
Worksheets("イレギュラー").Range("F2").Value = ""
' メール本文作成
strbody = Worksheets("イレギュラー").Range("D" & i).Value & vbCrLf & " " & _
Worksheets("イレギュラー").Range("E" & i).Value & " 様" & vbCrLf & vbCrLf & _
Worksheets("イレギュラー").Range("F" & i).Value
' 改行変換
tmpstrbody = Replace(strbody, vbLf, vbCrLf)
strbody = Replace(tmpstrbody, vbCr & vbCrLf, vbCrLf)
' メール送信
With iMsg
Set .Configuration = iConf
.From = Worksheets("イレギュラー").Range("C4").Value
.To = Worksheets("イレギュラー").Range("B" & i).Value
.BCC = Worksheets("イレギュラー").Range("C5").Value
.Subject = Worksheets("イレギュラー").Range("C" & i).Value
.TextBody = strbody
.addattachment Range("G8")
.Send
End With
' 送信状況メッセージ更新
Worksheets("イレギュラー").Range("F2").Value = Worksheets("イレギュラー").Range("B" & i).Value & " まで送信成功!"
' 3秒停止
Application.Wait [ NOW() + "0:00:03" ]
Set iMsg = Nothing
Next i
End Sub
お探しの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
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleフォームを回答したか確...
-
VB6で、Bsmtp.dllを使って、メ...
-
Javascript: 送信フォームに画...
-
c# メールが送信できたか確認
-
サイト上のアンケートからメー...
-
チャットを作る
-
Accessでメール一括送信ソフ...
-
アンケートフォーム送信後の送...
-
空メールを送信するフォームCGI
-
javascriptによるメールフォーム
-
ACCESSから、メール送信を行い...
-
CGIでメールのReturn-Pathに値...
-
VBでメール送信ソフトを作成
-
認証に失敗しました (呼出元の...
-
cgiであいまい検索(~を含む)
-
CGIでのメールフォーム作成■送...
-
KENT-WEBのClipMailでのチェッ...
-
CGIの設置について
-
フォームを再送信しますか?
-
ビジネスメールの敬称
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お問い合わせフォームから送信...
-
フォームを再送信しますか?
-
Safariで「本当にこのフォーム...
-
Googleフォームを回答したか確...
-
ACCESSから、メール送信を行い...
-
BASP21のSendMailとSendMailEx...
-
Accessでメール一括送信ソフ...
-
メールアドレスが正しいかどう...
-
チャットを作る
-
VB.NETからGmail経由でメールを...
-
ホームページビルダーのメール...
-
VB6で、Bsmtp.dllを使って、メ...
-
WriteFileで送信できたかの確認...
-
メールフォームで送信すると「...
-
VBA メール一斉送信で添付ファ...
-
VB.NET(2005)の"SerialPort" ...
-
CGIでメールのReturn-Pathに値...
-
メールフォームの受信先にg-m...
-
VBで添付ファイル付きのメール...
-
VBA EasyCommでの送信
おすすめ情報