› Excel e gli applicativi Microsoft Office › Invio automatico e-mail allegando file che iniziano con uno specifico codice
-
AutoreArticoli
-
Buongiorno a tutti,chiedo il vostro aiuto per integrare una vecchia macro: al momento quella già presente invia un'e-mail per ogni destinatario presente in un file excel allegando due file, contenuti in una specifica cartella, il cui nome è riportato in due celle excel (attachment 1 e 2).La nuova dovrebbe allegare tutti gli n file, contenuti nella stessa cartella, le cui prime 4 cifre del nome coincidono con quelle scritte in una cella excel (attachment 3).E' sicuramente fattibile, ma non riesco a svilupparlaDi seguito riporto il codice della vecchia macro, grazie anticipatamenteLorenzo
Sub invia_email()Dim myOutlook As Object, myMailItem As Object`
Dim otlApp As ObjectDim olMailItemDim otlNewMailDim i As Integer, xDim cartella As String, allegato As String, allegato2 As String, percorso As String, percorso2 As StringDim sh1 As WorksheetApplication.ScreenUpdating = Falsecartella = "W:\Scanner CessV\oggi"Set sh1 = ThisWorkbook.Worksheets("Indirizzi")sh1.ActivateFor i = 2 To [counta(f:f)]Set otlApp = CreateObject("Outlook.Application")Set otlNewMail = otlApp.CreateItem(olMailItem)allegato = Cells(i, 6)allegato2 = Cells(i, 7)percorso = cartella & "\" & allegato & ".pdf"percorso2 = cartella & "\" & allegato2 & ".xlsx"Data = Format(Now(), "dd/mm/yyyy")If FileExist(percorso) ThenWith otlNewMail.To = Cells(i, 2).CC = Cells(i, 3).Subject = Cells(i, 4) & Data.Body = Cells(i, 5).Attachments.Add percorsoIf FileExist(percorso2) Then.Attachments.Add percorso2End If.Display'.SendEnd WithEnd IfNext iSet otlApp = NothingSet otlNewMail = NothingApplication.ScreenUpdating = TrueEnd SubPrivate Function FileExist(file As String) As BooleanIf Dir(file) <> "" ThenFileExist = TrueElseFileExist = FalseEnd IfEnd Function -
AutoreArticoli
