VBAが止まります。
皆さん、いつもありがとうございます。
下から14行目の『 objMail.Attachments.Add asrs1』で止まってしまします。
下から14行目の『 objMail.Attachments.Add asrs1』で止まってしまします。
asrs1をadrs1へ修正したりしましたが、改善されません。
昨日まで動いたいたのですが。
皆様、修正方法を教えていただけますでしdょうか。
-------------------------------------------------------
Sub メール作成()
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim wsMail As Worksheet
Dim filead As String
Dim tenp1 As String
Dim tenp2 As String
'メール立ち上げ
Set objOutlook = New Outlook.Application
Set wsMail = ThisWorkbook.Sheets("リスト")
'添付ファイルのアドレスを変数にする
filead = Worksheets("リスト").Range("B3").Value
'共通添付データのアドレスを読む
tenp1 = filead & "\" & Worksheets("リスト").Range("B4")
tenp2 = filead & "\" & Worksheets("リスト").Range("B5")
Dim kobetsumail1 As String
Dim kobetsumail2 As String
Dim adrs1 As String
Dim asrs2 As String
'変数iを設定。最初は1
Dim i As Long
i = 1
'送付前の確認メッセージ
Dim rc As Long
rc = MsgBox("記載に誤りが無いことを確認しましたか?", vbYesNo + vbQuestion, "確認")
If rc = vbNo Then
MsgBox "中断しました"
End
End If
'基準となるセルを選択
Worksheets("リスト").Select
Range("B7").Select
'取引先名が書かれているB列が空欄になるまで続ける
Do Until ActiveCell.Offset(i, 0).Value = ""
'送付チェック欄が○なら作業を続ける
If ActiveCell.Offset(i, 2).Value = "○" Then
Set objMail = objOutlook.CreateItem(olMailTtem)
'個別メールのデータ名称を読む
Dim CC12(1) As String
CC12(0) = ActiveCell.Offset(i, 6).Value
CC12(1) = ActiveCell.Offset(i, 8).Value
'メールを作成する
With wsMail
objMail.to = ActiveCell.Offset(i, 4).Value
objMail.CC = Join(CC12, ";")
objMail.Subject = Range("B1").Value
objMail.Bodyformat = olFormatPlain
objMail.body = Range("B7").Offset(i, 0) & vbCrLf & Range("E7").Offset(i, 0) & "様" & vbCrLf & vbCrLf & Range("B2").Value & vbCrLf & vbCrLf
kobetsumail1 = ActiveCell.Offset(i, 9).Value
asrs1 = filead & "\" & kobetsumail1
kobetsumail2 = ActiveCell.Offset(i, 10).Value
asrs2 = filead & "\" & kobetsumail2
If Range("B4").Value <> "" Then
objMail.Attachments.Add tenp1
End If
If Range("B5").Value <> "" Then
objMail.Attachments.Add tenp2
End If
If ActiveCell.Offset(i, 9).Value <> "" Then
objMail.Attachments.Add asrs1
End If
If ActiveCell.Offset(i, 10).Value <> "" Then
objMail.Attachments.Add asrs2
End If
objMail.Display
objMail.Save
End With
End If
i = i + 1
Loop
Set objOutlook = Nothing
MsgBox "下書きに保管しました"
End Sub
お礼
上手くいきました。回答ありがとうございまいた。