Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro che allega un file ad una mail

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro che allega un file ad una mail

Postdi tav » 16/04/18 16:10

Ciao a tutti,

vorrei allegare, tramite pulsante, un foglio di un file excel ad una mail che come oggetto prenda il nome del file salvato.

il file viene recuperato dal seguente percorso (\\193.43.114.144\shares\Divisione Buitoni\Supply Chain\Demand&Supply Planning\Business Position & Supply Issues Monitor BUITONI\SUPPLY ISSUES MONITOR\prova Andrea\storico chilled SIM/ ) e il suo nome è sempre SIM 16-04-2018 ( la data cambia ogni giorno, quindi ogni giorno mi deve prendere il più aggiornato)

inoltre mi piacerebbe che nel campo a: e cc: vengano inseriti i nomi delle persone che sono presenti in un elenco ( foglio elenco)


Grazie
Andrea
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Sponsor
 

Re: Macro che allega un file ad una mail

Postdi tav » 16/04/18 17:04

ps non vorrei però l'invio automatico, ma sono io a doverlo dare
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi Anthony47 » 17/04/18 02:09

La tua macro avra' un contenuto simile a questa:
Codice: Seleziona tutto
Sub Invioemail_FoglioAllegato()
Dim OutApp As Object, OutMail As Object
Dim EmailAddr As String, Subj As String
Dim myPath As String, myFN As String
'
myPath = "\\193.43.114.144\shares\Divisione Buitoni\Supply Chain\Demand&Supply Planning\Business Position & Supply Issues Monitor BUITONI\SUPPLY ISSUES MONITOR\prova Andrea\storico chilled SIM\"
myFN = "SIM" & Format(Now, "dd-mm-yyyy") & ".xlsx"  '??? L'estensione l'ho inventata
'Apro il file giornaliero:
Application.EnableEvents = False
Workbooks.Open myPath & myFN, 0
'Salvo il FOGLIO da inviare:
Sheets("Foglio1").Copy              '??? Il nome del foglio da inviare me lo sono inventato
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Environ("Temp") & "\FileAllegato.xlsx"  '??? Anche qui l'estensione l'ho inventata
'Chiudo il file da allegare
ActiveWorkbook.Close False
'Chiudo il file giornaliero:
Workbooks(myFN).Close False
Application.DisplayAlerts = True
'DA QUI SI CREA LA MAIL:
Set OutApp = CreateObject("Outlook.Application")
EmailAddr = "TuaEmail@Dominiozczc.Com"              '<<< INDIRIZZO EMAIL
Subj = "Un Soggetto a piacere"                      '<<< OGGETTO DELLA MAIL
Set OutMail = OutApp.CreateItem(0)
With OutMail
    .body = "Caro amico ti scrivo" & vbCrLf & "Cordiali saluti"      '<<< Un piccolo teesto?
    .to = EmailAddr
    .CC = "altro@altro.cc"                          '<<<
    .BCC = "unaltr@unaltro.cz"                      '<<<
    .Subject = Subj
    .Attachments.Add Environ("Temp") & "\FileAllegato.xlsx" ''??? Sempre estensione inventata
    .display 'or use .send
End With
'  (c)
Set OutMail = Nothing
'  (d)
Set OutApp = Nothing
'
End Sub


Come vedi la macro apre il file "giornaliero", ne copia UN FOGLIO e lo salva come file da allegare; poi crea una mail in Outlook con l'allegato e gli indirizzi che hai predisposto.

Ci sono pero' numerose istruzioni marcate ???, in cui devi inserire informazioni non in mio possesso.
Quelle marcate <<< le devi specializzare per fare cose di cui non conosco i dettagli.

Prova e fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 17789
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro che allega un file ad una mail

Postdi tav » 17/04/18 15:42

Ciao Anthony,

mi da un errore su Workbook.open mypath .... e mi dice che non esiste il file ( il file esiste)

ho cambiato già l'estensione dei file che era xlsm.


Altra richiesta nella creazione della mail nel campo to riesco a farlo pescare da un foglio (all'interno dello stesso file) che si chiama elenco ( i nomi in aa si trovano in colonna A) mentre i CC nella colonna B
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi tav » 17/04/18 15:44

Codice: Seleziona tutto
Sub Invioemail_FoglioAllegato()
    Dim OutApp As Object, OutMail As Object
Dim EmailAddr As String, Subj As String
Dim myPath As String, myFN1 As String, myFN As String
'
myPath = "\\193.43.114.144\shares\Divisione Buitoni\Supply Chain\Demand&Supply Planning\Business Position & Supply Issues Monitor BUITONI\SUPPLY ISSUES MONITOR\prova Andrea\storico chilled SIM\ "
myFN1 = "SIM"
myFN = myFN1 & " " & Format(Now, "dd-mm-yyyy") & ".xlsm"
'Apro il file giornaliero:
Application.EnableEvents = False
Workbooks.Open myPath & myFN, 1
'Salvo il FOGLIO da inviare:
Sheets("INVIO").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Environ("Temp") & "\FileAllegato.xlsm"
'Chiudo il file da allegare
ActiveWorkbook.Close False
'Chiudo il file giornaliero:
Workbooks(myFN).Close False
Application.DisplayAlerts = True
'DA QUI SI CREA LA MAIL:
Set OutApp = CreateObject("Outlook.Application")
EmailAddr = "tav@dominio.com"              '<<< INDIRIZZO EMAIL
Subj = "Mio SIM"                      '<<< OGGETTO DELLA MAIL
Set OutMail = OutApp.CreateItem(0)
With OutMail
    .body = "Buongiorno a tutti," & vbCrLf & "di seguito il Supply Issue Monitor di oggi." vbCrLf "A disposizioni per chiarimenti"
    .to = EmailAddr
    '.CC = "altro@altro.cc"                          '<<<
    '.BCC = "unaltr@unaltro.cz"                      '<<<
    .Subject = Subj
    .Attachments.Add Environ("Temp") & "\FileAllegato.xlsm"
    .display 'or use .send
End With
'  (c)
Set OutMail = Nothing
'  (d)
Set OutApp = Nothing
'
End Sub
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi tav » 17/04/18 16:25

Ho sistemato il primo punto.
Ora mi da un errore qui:
ActiveWorkbook.SaveAs Environ("Temp") & "\FileAllegato.xlsm"

mi spieghi la funzione?
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi Anthony47 » 17/04/18 18:17

E quale e' l'errore?
E, tanto per portarsi avanti immaginando la risposta, il file che vai a salvare ha delle macro?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17789
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro che allega un file ad una mail

Postdi tav » 17/04/18 19:02

Ciao
Ho risolto il tutto.
Mi sono fermato allo step del campo aa della mail. Avrei bisogno che mi peschi da un foglio chiamato elenco le mail presenti nella colonna A
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi tav » 18/04/18 11:31

Ciao Anthony,

mi puoi aiutare a risolvere il mio dilemma.

Come faccio a inserire nel campo aa della mail un elenco di email che sono presenti in un foglio chiamato "ELENCO" ?
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi Anthony47 » 18/04/18 12:20

Sarebbe utile che allegassi il codice che hai assemblato.
In linea di massima accedi ai dati delle celle con la sintassi
Codice: Seleziona tutto
Range("IndirizzoCella").Value
; es
Codice: Seleziona tutto
EmailAddr = Range("G8").Value

Informazioni piu' precise conoscendo il layout dei tuoi dati.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17789
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro che allega un file ad una mail

Postdi scanacc » 18/04/18 13:42

Ciao tav, qui dovresti trovare alcuni spunti http://www.pc-facile.com/forum/viewtopic.php?f=26&t=107220
scanacc
Utente Senior
 
Post: 292
Iscritto il: 06/12/15 10:30

Re: Macro che allega un file ad una mail

Postdi tav » 18/04/18 16:27

https://we.tl/YTwwaPcMKY


Il pulsante si trova nel file sim ( invio mail)
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi Anthony47 » 19/04/18 16:41

Quindi, per chi ci legge, la risposta alla domanda "il file che vai a salvare ha delle macro?" era "No, quindi ho modificato il nome file in .xlsx"

Vedo che vuoi inviare l'email a una ventina di destinatari, piu' un'altra ventina in Copia.
Allora aggiungiamo in coda all'attuale codice un pezzo dedicato a complilare le stringhe dei destinatari in base ai lunghi elenchi presenti su foglio ELENCO:
Codice: Seleziona tutto
Function All_Adr(ByRef CollAdd As Range) As String
Dim oCell As Range, eAdr
'
For Each oCell In CollAdd
    If oCell <> "" Then
        eAdr = eAdr & "; " & oCell
    Else
        Exit For
    End If
Next oCell
All_Adr = Mid(eAdr, 3)
End Function


Poi modifichiamo la parte della macro che crea l'email:
Codice: Seleziona tutto
'Creazione mail:
Set OutApp = CreateObject("Outlook.Application")
''EmailAddr = "tav@dominio.com"              '<<< INDIRIZZO EMAIL
Subj = "SIM Buitoni"                      '<<< OGGETTO DELLA MAIL
Set OutMail = OutApp.CreateItem(0)
With OutMail
    .body = "Buongiorno a tutti," & Chr(10) & _
    Chr(10) & "di seguito il Supply Issue Monitor di oggi."
   
''    Sheets("Elenco").Select
''    EmailAddr = Range("A1:A999").Value
''    CopyCC = Range("B1;B99").Value
    .to = All_Adr(Sheets("Elenco").Range("A1:A200"))
    .CC = All_Adr(Sheets("Elenco").Range("B1:B200"))                       
   
    .Subject = Subj
    .Attachments.Add Environ("Temp") & "\FileAllegato.xlsx"
    .display 'or use .send
End With

Le istruzioni che cominciano con "doppio apostrofo" sono logicamente eliminate (possono essere eliminate anche fisicamente, le ho lasciate per consentirti di capire le modifiche apportate).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17789
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro che allega un file ad una mail

Postdi tav » 20/04/18 10:40

scusa non ho capito dove devo incollare il primo codice
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57

Re: Macro che allega un file ad una mail

Postdi Anthony47 » 20/04/18 19:02

In effetti sono stato poco chiaro: il nuovo codice (Function All_Adr) lo accodi al precedente, trattandosi di una funzione aggiuntiva. Poi modifichi la parte centrale (la parte della macro che crea l'email) nella Sub Invioemail_FoglioAllegato

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17789
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro che allega un file ad una mail

Postdi tav » 23/04/18 18:03

grazie mille :)
tav
Utente Junior
 
Post: 46
Iscritto il: 08/04/18 20:57


Torna a Applicazioni Office Windows


Topic correlati a "Macro che allega un file ad una mail":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti

cron