나는 [A] 열에 200 개의 이름을 넣고 다음에 이름에 대한 첨부 파일을 말하며 Excel 시트 ("Sheet2"라고 부름)를 가지고 있습니다. 그것에 [B].(VBA) 여러 첨부 파일이있는 메일 보내기 목록에 중복 된 메일 주소
각 이름의 메일 주소가있는 다른 시트 ("Sheet1")가 있습니다. 중대한! ->이 Sheet1 목록은 200 개의 이름이있는 첫 번째 목록보다 깁니다.
시트 "Sheet2"(열 [A])에 중복 항목이 있지만 첨부 파일이 서로 다릅니다.
내가 어떻게 든 내가 그렇게하도록 관리 할 수 없습니다 만 사용자에게 필요한 모든 attachements 하나의 메일을 보내 싶습니다...
내가 가진 루프가 목록에 모든 사용자에 대해 메일을 생성합니다 "Sheet1의" 하지만 "Sheet2"목록의 사용자에게만 메일이 필요합니다.
여기에서 답변을 찾으십시오. 감사!
내 코드 :
Sub Mails()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Dim FileName As Variant
Dim wkbSource As Workbook
Dim wksSource As Worksheet
Dim wksDest As Worksheet
Set wksDest = ThisWorkbook.Worksheets("Sheet2")
Set wksSource = ThisWorkbook.Worksheets("Sheet1")
Dim LastRowSource As Long
LastRowSource = wksSource.Cells(wksSource.Rows.Count, "A").End(xlUp).Row
Dim LastRowDest As Long
LastRowDest = wksDest.Cells(wksDest.Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRowSource
Dim OutApp As Object
Dim OutMail As Object
Dim CC As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dim TC_User As String
Dim TC_Attachement As String
Dim TC_File As String
TC_User = ""
CC = ""
TC_User = wksSource.Range("A" & i)
TC_USer_mail = wksSource.Range("B" & i)
TC_Attachement = ""
With OutMail
.To = TC_USer_mail
.BCC = ""
.Importance = 2
.Subject = "for you"
.HTMLBody = "<body style='font-family:arial;font-size:13'>" & _
"<b>############################################<br>" & _
"Diese Mail wurde automatisch erstellt<br>" & _
"############################################</b><br><br>" & _
"Hallo " & TC_User & "," & "<br><br>" & _
"blabla.<br><br>" & _
"</body>"
For g = 2 To LastRowDest
If wksDest.Range("A" & g) = TC_User Then
TC_File = wksDest.Range("B" & g)
TC_Attachement = "C:\Users\bla\Documents" & "\" & TC_File
If Dir(TC_Attachement) <> "" Then
.Attachments.Add TC_Attachement
'GoTo nextvar
Else
End If
End If
'nextvar:
Next g
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Next i
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Ende:
End Sub
귀하의 목록 ... – dwirony
소스 -> 시트 ("Sheet1") = 사용자 ID + 메일 목적지 -> 시트 ("PDF_an_MA") = 사용자 ID + 첨부 파일 – smartini