Condividi:        

macro excel mail automatica

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 excel mail automatica

Postdi mattew89 » 02/11/16 09:13

Ciao a tutti,
Ho un file excel in cui sono presenti i seguenti campi:

colonna A= prodotto
colonna B= giorni alla scadenza

La colonna B puo' essere valorizzata con il numero dei giorni oppure con "SCADUTO". Il file excel è condiviso quindi non sono l'unico ad usarlo.
Vorrei che solo quando apro io il file venga inviata una mail all'indirizzo prova@abc.it con il seguente messaggio nel testo:

colonna A + colonna B + colonna C

dei soli prodotti che non sono ="SCADUTO".

mi aiutate?

grazie
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Sponsor
 

Re: macro excel mail automatica

Postdi alfrimpa » 02/11/16 10:07

Allega un file di esempio

Per come fare guarda qui

viewtopic.php?f=26&t=103893&p=605487#p605487

Ti consiglio Filedropper
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 02/11/16 10:33

mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 02/11/16 11:44

Ma tu come client di posta elettronica usi Outlook o altro?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi alfrimpa » 02/11/16 12:08

Ciao Matthew

Premetto che non usando Outlook (che non è configurato) non posso testare la macro che vedi sotto.

Codice: Seleziona tutto
Sub Macro1()
Dim ur As Long
Dim rng As Range
Dim cel As Range
Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    Dim Recipient As String
    Dim Msg As String
Workbooks.Open Filename:="C:\Excel\Matthew89.xlsm" <=======' Cambia il percorso con il tuo
Windows("Matthew89.xlsm").Activate
ur = Cells(Rows.Count, "c").End(xlUp).Row
Set rng = Range("c2:c" & ur)
rng.Select
For Each cel In rng
    If cel.Value <> "SCADUTO" Then
    Msg = Range("a" & cel.Row).Value & " " & Range("b" & cel.Row).Value & " " & Range("c" & cel.Row).Value
    Recipient = Range("H2").Value
    Set OutlookApp = New Outlook.Application
    Set MItem = OutlookApp.CreateItem(olMailItem)
    With MItem
      .To = Recipient
      .Body = Msg
      .Send
    End With
    End If
Next cel
ActiveWorkbook.Close
Set OutlookApp = Nothing
End Sub


Questa macro va inserita in un'altra cartella di lavoro e lanciata da lì.

In pratica viene aperto il tuo file viene esaminata la colonna C e dove non trova la parola "SCADUTO" invia le mail

Va attivata nell'editor di VBA la libreria Microsoft Outlook Object Library 15.0
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 02/11/16 12:44

come si attiva? Da "Strumenti" la voce "Riferimenti" la voce è disabilitata
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 02/11/16 12:50

Appunto devi spuntare la casellina a sinistra della voce e dare ok.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 02/11/16 13:02

Non sono stato chiaro, proprio il menù "Riferimenti" è disabilitato
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 02/11/16 13:58

Nel tuo Excel nel Centro protezione le macro che livello di protezione hanno? Le hai abilitate?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi alfrimpa » 02/11/16 14:48

Ti allego un file dove ti ho messo le immagini di quel che intendo

http://www.filedropper.com/mathew2

Lascia stare il Centro Protezione (comunque le macro devono essere abilitate).
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 03/11/16 09:56

Sì l'avevo capito ma non riuscivo ad attivare la voce "Riferimenti".. Cmq grazie per la disponibilità. Purtroppo la macro non funziona, errore run time 424 e il debug si ferma su
Codice: Seleziona tutto
.To = Recipient
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 03/11/16 10:36

Mah strano.

la macro non deve stare nel tuo file ma in un altro.

Io non ho quell'errore ma un altro dovuto al fatto come dicevo prima che non ho Outlook installato.

Prova a descrivere passo passo tutte le operazioni che fai.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 03/11/16 10:48

creo un nuovo file excel, in cui inserisco la macro col codice. Sostituisco nel codice il percorso del mio file e il nome del mio file nelle seguenti stringhe:
Codice: Seleziona tutto
Workbooks.Open Filename:="C:\Excel\Matthew89.xlsm" <=======' Cambia il percorso con il tuo
Windows("Matthew89.xlsm").Activate


dopodichè salvo e lancio la macro che apre il file excel richiamato ma va in errore
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi mattew89 » 03/11/16 11:48

Ho provato ad eliminare la dichiarazione della variabile "Recipient" ed inserire l'indirizzo direttamente nel comando .To="prova@abc.com" ma continua a darmi lo stesso errore
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 03/11/16 12:17

No sicuramente non è quello

L'errore 424 vuol dire "Necessario oggetto"; è come se mancasse qualcosa ma non riesco a capire cosa.

Prova ad allegare il tuo file con il mio codice così come da te modificato e provo a guardare.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 03/11/16 14:18

mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 03/11/16 14:27

Facciamo un'ulteriore prova

Sostituisci

Codice: Seleziona tutto
Recipient = Range("H2").Value


con

Codice: Seleziona tutto
Recipient = ActiveWorkbook.ActiveSheet.Range("H2").Value
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi mattew89 » 03/11/16 16:45

Stesso errore... :(
mattew89
Utente Junior
 
Post: 38
Iscritto il: 31/10/16 17:50

Re: macro excel mail automatica

Postdi alfrimpa » 03/11/16 17:58

Lo immaginavo.

A questo punto ho esaurito le mie risorse e spero che possa intervenire qualcun altro in tuo aiuto.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel mail automatica

Postdi Anthony47 » 03/11/16 19:26

Se Alfredo ti dice
Codice: Seleziona tutto
    Set MItem = OutlookApp.CreateItem(olMailItem)
    With MItem

E tu converti in
Codice: Seleziona tutto
    Set MItem = OutlookApp.CreateItem(olMailItem)
    With otLNewMail
allora come minimo ti cerchi un run-time-error, cosa che puntualmente ti arriva.

La morale: in certi momenti bisogna imparare a copiare...

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

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "macro excel mail automatica":


Chi c’è in linea

Visitano il forum: Nessuno e 25 ospiti