[Risolto] Macro per invio mail con allegati

Creare una macro - Scrivere uno script - Usare le API
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per invio mail con allegati

Messaggio da patel »

allego file per inviare a tutti i destinatari della lista, ho lasciato i messaggi di controllo, poi si potranno eliminare
Allegati
gmailCalc2.ods
(22.17 KiB) Scaricato 227 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

unlucky83 ha scritto:L'indicazione per aggiungere i pulsanti l'ho messa nel box del primo foglio.
Si lo so solo che se seleziono e copio ed incollo, non si incolla niente. Sono riuscito solo a copiare e incollare , utilizzando Ctrl C e ctrl V, il tasto percorso ma in questo modo mi crea un collegamento a quello precedente.
unlucky83 ha scritto:Se vuoi usare un solo pulsante invio si può fare con una piccola modifica. Il server non darà problemi perchè l'invio sarà sequenziale e non contemporaneo
Sarebbe meglio così con un solo clik si mandano tutte le mail. Come pure sarebbe meglio che una volta indicato, per ogni contatto, il percorso del file da allegare che questo percorso non cambi più.( a meno che non sia io a cambiarlo)

Grazie :D
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Nel box c'è scritto che deci visualizzare la barra degli strumenti per il formulario, così da poter selezionare i pulsanti, copiarli, incollarli e modificarli

Il percorso del file è statico. Ad ogni riavvio rimane l'ultimo percorso indicato, esattamente come vuoi tu.

Patel ha allegato un file, provalo. Dovrebbe avere un solo pulsante di invio :)
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per invio mail con allegati

Messaggio da patel »

@unlucky83
mi è piaciuta molto la gestione del pulsante col nome della cella, dove l'hai trovata ? non credo che esista una cosa analoga in VBA

@paolo
i pulsanti arancioni non sono obbligatori, facilitano la ricerca dei file, ma puoi anche non utilizzarli
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Per un'altra discussione, avevo cercato in tutti i modi di scoprire la posizione degli oggetti per risalire alla cella in cui si trovano, ma non trovavo nulla di affidabile. Avevo provato a controllare le proprietà della cella per scoprire gli oggetti in essa contenuti, ma anche così niente di affidabile. Ho quindi optato per indicare il collegamento desiderato tramite il nome dell'oggetto, che devo però impostare manualmente.
In linea di principio, dovrebbe essere una strategia attuabile anche con il vba, perché come detto, il nome dell'oggetto lo imposti ahimé manualmente. Forse con il vba devi usare un altro comando per scoprire il nome del pulsante premuto (oEv.source.Name)
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

patel ha scritto:allego file per inviare a tutti i destinatari della lista, ho lasciato i messaggi di controllo, poi si potranno eliminare
Ho provato il file inviandolo a due indirizzi e funziona bene. Però alcune considerazioni:
1) se non trova il file pdf indicato il programma si ferma (da errore) e non invia la seconda mail. Bisognerebbe fare in modo tale che se non c'è il file specificato semplicemente la mail a quel specifico destinatario non venga inviata e poi proseguire con il resto dei contatti.
2) quando invia le mail apre tre finestre di dialogo e bisogna cliccare su "ok" . Sarebbe opportuno eliminare tutti questi passaggi e una volta dato il via dovrebbe semplicemente inviare e basta. E' sufficiente fare la seguente considerazione. Se si inviano 30 mail, si devono eseguire 90 clik. :)
Comunque vedo a che passo dopo passo stai/state arrivando alla soluzione.
Se riesco a studiarmi il basic sarà sicuramente un ottimo esempio con il quale esercitarmi.
Grazie

P.S. Dimenticavo. Quando inserisco un testo nella cella del Body msg, c'è un modo per formattare il testo inserito? Cioè nella mail questo testo appare scritto su righe consecutive. Esempio il mio nome finale dovrebbe apparire a capo a mo di firma. Comunque non è così fondamentale se penso a tutto il resto.
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Tranquillo. Patel ti aveva già detto che una volta messo apposto tutto, avremmo fatto sparire tutti quei msg, al momento ci servono come feedback positivo.

Il body può essere formattato più di quello che pensi, perché ammette il codice html.
Apri writer, scrivi un bel msg con colori, grassetti, tabelle. Poi visualizza in html., copiati la pagina html e incolla nella cella. Inviando l'email vedrai il body formattato
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

Ho provato ma niente. Se incollo semplicemente selezionando la cella il testo mi viene copiato in celle successive. Se apro la cella e incollo dentro, si vede il testo formattato ma poi la mail arriva senza formattazione. forse sbaglio qualcosa Mah!

Comunque mi sa che devo cambiare server di invio. Alice a volte sembra bloccarsi per poi inviare. Pensavo che dipendesse solo da thunderbird ma non è così.
Grazie

P.S. mi avete fatto venire una tale voglia di imparare ad usare questo linguaggio che non avete idea. La macro che state scrivendo automatizza solo una parte (l'invio della mail) di tutta un'azione che devo eseguire ogni mese. Magari, anche con il vostro aiuto, potrò provare a scriverla. :)
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Non ti funziona per colpa mia. Devi copiare il testo del file sorgente della pagina html
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

paolokap ha scritto: 1) se non trova il file pdf indicato il programma si ferma (da errore) e non invia la seconda mail. Bisognerebbe fare in modo tale che se non c'è il file specificato semplicemente la mail a quel specifico destinatario non venga inviata e poi proseguire con il resto dei contatti.
Qui sorge un problema pratico. Mettiamo caso che hai 30 destinatari, a cui prima o poi devi far pervenire l'email con l'allegato personalizzato. Se vuoi quello che chiedi perchè hai pronti 10 allegati, si possono inviare le 10 email senza far saltare fuori l'errore, ma se il giorno successivo vuoi inviare le restanti 20 email, come possiamo impedire di reinviare le 10 spedite il giorno precedente?
Una soluzione ce l'avrei ma prima dimmi se è questo il quadro che si presenta. Il file attuale è pensato per inviare le email solo quando tutti gli allegati sono pronti.
paolokap ha scritto: P.S. Dimenticavo. Quando inserisco un testo nella cella del Body msg, c'è un modo per formattare il testo inserito? Cioè nella mail questo testo appare scritto su righe consecutive. Esempio il mio nome finale dovrebbe apparire a capo a mo di firma.
Oltre alla possibilità di adoperare il codice html, resta valida la possibilità di scrivere il msg su un editor di testo inserendo i vari "invio", per poi copiare il testo e inserirlo nella cella a mò di formula. Inoltre, rimanendo su Calc, puoi inserire gli invii nella cella usando la combinazione di tasti ctrl + maisc+ invio
paolokap ha scritto: P.S. mi avete fatto venire una tale voglia di imparare ad usare questo linguaggio che non avete idea. La macro che state scrivendo automatizza solo una parte (l'invio della mail) di tutta un'azione che devo eseguire ogni mese. Magari, anche con il vostro aiuto, potrò provare a scriverla. :)
hehe, con le macro si possono fare cose molto interessanti e c'è sempre da scoprire qualcosa di nuovo. Le macro del modulo Email sono tutte piuttosto complicate da studiare per chi è alle prime armi, ti consiglio di procedere per gradi.
"/home/documenti/xxxxx nome1 2016.09.01.pdf"
In un precedene messaggio avevi postato questo esempio. Mi sembra che così i pdf li metti tutti nella stessa cartella e non hai delle cartelle dedicate a ciascun destinatario.
Mi aspettavo qualcosa del tipo:

Codice: Seleziona tutto

"/home/documenti/nomeProgetto/Archivio/nome1/xxxxx nome1 2016.09.01.pdf"
"/home/documenti/nomeProgetto/Archivio/nome2/xxxxx nome2 2016.09.01.pdf"
Se fosse strutturato così, si potrebbe indicare nel foglio di calc (manualmente o con il pulsante rosso) il percorso "/home/documenti/nomeProgetto/Archivio", nella colonna E riportare i nomi delle sottodirectory ("nome1" "nome2" ) e modificare leggermente la macro. Il vantaggio sta nel caso in cui cambi la posizione della cartella "nomeProgetto", perchè dovresti cambiare solo la path della directory principale.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per invio mail con allegati

Messaggio da patel »

unlucky83 ha scritto:Per un'altra discussione, avevo cercato in tutti i modi di scoprire la posizione degli oggetti per risalire alla cella in cui si trovano, ma non trovavo nulla di affidabile.
io conoscevo questa, ma la tua mi sembra più semplice

Codice: Seleziona tutto

Sub ButtonHandler(oEvent)
'Print oEvent.Source.Model.getName()
oControlModel = oEvent.Source.Model
oParent = oControlModel.getParent()
Do While NOT oParent.supportsService("com.sun.star.sheet.SpreadsheetDocument")
oParent = oParent.getParent()
Loop
oCell = FindCellWithControl(oParent.getCurrentController().getActiveSheet().getDrawPage(), oControlModel)
If NOT IsEmpty(oCell) Then
Print "Control is in cell " & oCell.AbsoluteName
Else
Print "Unable to find cell with control"
ENd If
End Sub

Function FindCellWithControl(oDrawPage, oControl)
Dim oShape
Dim oAnchor
oShape = FindShapeForControl(oDrawPage, oControl)
If Not IsEmpty(oShape) Then
If oShape.getAnchor().supportsService("com.sun.star.sheet.SheetCell") Then
FindCellWithControl = oShape.getAnchor()
End If
End If
End Function
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Sfruttare l'ancoraggio non mi piace molto, perchè se per qualche esigenza cambi le dimensioni delle righe /colonne e poi riposizioni il controllo, devi stare attento che l'ancoraggio non si sia spostato ( personalmente l'icona dell'ancora non la noto tutte le volte che sposto un oggetto).
Ci vuole poco a premere un pulsante frettolosamente e se prende un riferimento sbagliato, la macro può andare ad agire su celle sbagliate compromettendo il foglio.
La macro è interessante, quella che avevo elaborato io non era così ben scritta, era molto più impicciosa :D La prenderò come spunto per altre cose :super:
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per invio mail con allegati

Messaggio da patel »

E' da tanto che esorto Paolo ad allegare un file strutturato come desidera, ma ancora non si è deciso ...
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

unlucky83 ha scritto: Una soluzione ce l'avrei ma prima dimmi se è questo il quadro che si presenta. Il file attuale è pensato per inviare le email solo quando tutti gli allegati sono pronti.
be' questo non è un problema nel senso che è mia intenzione preparare i pdf e poi li invio tutti insieme. Diciamo che quando lo faccio "a mano" preparo il pdf e lo invio, poi preparo il secondo e lo invio. però ripeto non ha importanza quindi va benissimo preparare tutti i pdf ed inviarli tutti insieme.
E' molto più importante risolvere il problema nel caso il file pdf indicato non è presente. Una volta indicati tutti i possibili contatti è possibile che per alcuni di loro non preparo il file pdf per quel dato mese, ma poi nei successivi invece si.
"/home/documenti/xxxxx nome1 2016.09.01.pdf"
In un precedene messaggio avevi postato questo esempio. Mi sembra che così i pdf li metti tutti nella stessa cartella e non hai delle cartelle dedicate a ciascun destinatario.
Mi aspettavo qualcosa del tipo:

Codice: Seleziona tutto

"/home/documenti/nomeProgetto/Archivio/nome1/xxxxx nome1 2016.09.01.pdf"
"/home/documenti/nomeProgetto/Archivio/nome2/xxxxx nome2 2016.09.01.pdf"
Infatti è come indicato negli ultimi due esempi "quote" sopra: ogni file pdf si trova in una cartella del tipo nome1/xxx nome1 2016.02.01.pdf; nome2/xxxx nome2 2016.02.01 etc.

unlucky83 ha scritto:Se fosse strutturato così, si potrebbe indicare nel foglio di calc (manualmente o con il pulsante rosso) il percorso "/home/documenti/nomeProgetto/Archivio", nella colonna E riportare i nomi delle sottodirectory ("nome1" "nome2" ) e modificare leggermente la macro. Il vantaggio sta nel caso in cui cambi la posizione della cartella "nomeProgetto", perchè dovresti cambiare solo la path della directory principale.
Perfetto!
Ultima modifica di paolokap il lunedì 19 settembre 2016, 18:33, modificato 1 volta in totale.
LibreOffice 7.4 Kubuntu 22.04 LTS
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

patel ha scritto:E' da tanto che esorto Paolo ad allegare un file strutturato come desidera, ma ancora non si è deciso ...
scusami patel ma non ho capito che tipo di file devo preparare. I file che hai preparato per me va bene così come l'hai fatto. Forse intendi che devo preparare un file calc organizzato come piace a me per fare queste operazioni?
LibreOffice 7.4 Kubuntu 22.04 LTS
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

unlucky83 ha scritto:Non ti funziona per colpa mia. Devi copiare il testo del file sorgente della pagina html
:super: ok così funziona. Però non capito come fare come inserimento formula
Ultima modifica di paolokap il lunedì 19 settembre 2016, 18:40, modificato 1 volta in totale.
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

paolokap ha scritto: 1) se non trova il file pdf indicato il programma si ferma (da errore) e non invia la seconda mail. Bisognerebbe fare in modo tale che se non c'è il file specificato semplicemente la mail a quel specifico destinatario non venga inviata e poi proseguire con il resto dei contatti.
paolokap ha scritto:be' questo non è un problema nel senso che è mia intenzione preparare i pdf e poi li invio tutti insieme. Diciamo che quando lo faccio "a mano" preparo il pdf e lo invio, poi preparo il secondo e lo invio. però ripeto non ha importanza quindi va benissimo preparare tutti i pdf ed inviarli tutti insieme.
Bene, allora dovremmo stabilire che le email vanno inviate a tutti o a nessuno. In tal caso va comunque modificata la macro perchè allo stato attuale, invia le email fino a che non trova un errore. Dovrebbe prima controllare se ci sono errori e se non ce ne sono dovrebbe procedere ad inviarle. Sarebbe una modifica significativa. :shock:
Forse sarebbe meglio scegliere la soluzione che non ti avevo svelato prima, ovvero dopo l'invio rinominare il pdf modificando la parte finale del nome, da *2016.10.01.pdf a *2015.10.01_sent.pdf.
Ti sta bene rinominare i file?
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

unlucky83 ha scritto:
paolokap ha scritto:be' questo non è un problema nel senso che è mia intenzione preparare i pdf e poi li invio tutti insieme. Diciamo che quando lo faccio "a mano" preparo il pdf e lo invio, poi preparo il secondo e lo invio. però ripeto non ha importanza quindi va benissimo preparare tutti i pdf ed inviarli tutti insieme.
ho aggiunto al precedente messaggio qui quotato che: E' molto più importante risolvere il problema nel caso il file pdf indicato non è presente nella cartella del contatto. Una volta indicati tutti i possibili contatti è possibile che per alcuni di loro non preparo il file pdf per quel dato mese, ma poi nei successivi invece si.
unlucky83 ha scritto: Forse sarebbe meglio scegliere la soluzione che non ti avevo svelato prima, ovvero dopo l'invio rinominare il pdf modificando la parte finale del nome, da *2016.10.01.pdf a *2015.10.01_sent.pdf.
Ti sta bene rinominare i file?
Si va bene ovviamente intendevi passare da "2016.10.01" a "2016.10.01 inviato.pdf" però non ho capito bene la questione :roll: io creo il file "xxxx nome1 2016.0X.01.pdf" e lo metto nella cartella nome1/*.pdf. Poi dopo che la macro ha inviato non trovo più "xxxx nome1 2016.0X.01.pdf" ma trovo "xxxx nome1 2016.0X.01 inviato.pdf", giusto? Be' se è così va bene così mi fa ricordare che il pdf è stato inviato
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Chiariamo questi punti per poi procedere spediti:
Ti elimino l'errore, in questo modo invia email solo se ci sono allegati e a chi non li trova non invia nulla (soprattutto perchè ora hai aggiunto che in alcuni mesi ad alcuni destinatari non invierai nulla e questo non lo avevi ancora detto...comunque l'avrei fatto lo stesso per attuare quanto segue)
togliamo tutti quei msg di conferma, così non devi cliccare. come feedback positivo potrai controllare che il pdf è stato rinominato aggiungendo "inviato" alla fine del nome
La modifica del nome ha un duplice aspetto positivo che te lo spiego con un esempio:
se devi inviare l'email a pippo e a pluto, ma hai al momento solo il file di pippo, esegui la macro e ti invia l'email solo a pippo perchè trova solo "./pippo/*2016.10.01.pdf". La macro come ultima cosa rinomina il file in "./pippo/*2016.10.01.pdf" in "./pippo/*2016.10.01_inviato.pdf".
Successivamente prepari il file "./pluto/*2016.10.01.pdf", quindi premi il pulsante invio per inviare le email, ma questa volta trova solo il file di pluto, mentre quello di pippo non viene trovato, dato che non c'è più il file chiamato "./pippo/*2016.10.01.pdf". La macro come ultima cosa rinomina il file in "./pluto/*2016.10.01.pdf" in "./pluto/*2016.10.01_inviato.pdf".
Successivamente ripremi per errore sul pulsante invio, la macro non trova i pdf ne per pippo ne per pluto, quindi non invierà nulla.
Questa strada ti convince?
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

Mi convince??? MI sembra perfetto! :D

L'Unica cosa. Una volta inserito il percorso del file pdf, per ogni contatto, non è che il mese successivo lo devo reimpostare? No giusto? resta fisso?

Grazie, grazie e ancora grazie
LibreOffice 7.4 Kubuntu 22.04 LTS
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per invio mail con allegati

Messaggio da patel »

come ti ho già detto il pulsanti arancioni sono soltanto di aiuto, puoi non usarli e scrivere il percorso a mano, le celle non vengono cancellate
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

Stavo pensando che , se non è complicato,di inserire un contatore che alla fine di tutto il ciclo di invio riporti il numero di mail inviate: cioè un messaggio del tipo: "conferma invio numero N mail"
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Foglio Principale
Foglio Principale
Questo dovrebbe essere il layout finale. Ci saranno solo due pulsanti di cui l'uso del rosso sarà facoltativo perchè nella cella arancione potrai anche inserire il percorso manualmente se preferisci.
Le celle gialle sono da riempire una volta solamente e non ci sarà bisogno di modificarle (tranne quella che contiene la chiave di ricerca, eventualmente l'oggetto e il corpo del messaggio)
Ho risolto la questione del rinominare i file inviati, mi manca solo la gestione delle sottocartelle (verificare che esista la sottocartella indicata) e la ricerca in esse. Se ce la faccio ti aggiungo la possibilità di inviare un msg di default salvato in un file txt. Purtroppo non credo di avere il tempo domani per finire tutto anche se il grosso è fatto.

Aggiungere un contatore non è un problema
foglio DatiMittente
foglio DatiMittente
Ho cambiato anche questo foglio, dovrai riempire solo i primi due campi (quelli gialli) e eventualmente i campi arancioni se inizi ad usare account di altri domini.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

:super: :bravo:

Fai con calma non c'è nessuna necessità di correre.
Alcune domande:
1) il numero di contatti è illimitato? (ovviamente con illimitato inteso nei limiti del foglio) Oppure c'è un valore predefinito?
2) Visto che l'oggetto della mail, da un lato, e il corpo della mail dall'altra, sono sempre gli stessi, posso nelle celle successive alla prima incollarle come "collegamento". Così che se cambio l'oggetto ( il corpo) non devo ricopiare tutto? Non è che la macro ha problemi?

Grazie
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

1) si è illimitato. L'importante è non occupare righe al di sotto dell'elenco dei destinatari in nessuna colonna.
2) non c'èun reale motivo..è una rielabolazione di una macro trovata in rete e ho preferito non toglierla, perchè se poi si dovesse scoprire che ha una utilità, sarebbe un pò difficile rifarla da zero.
3)puoi inserire nelle righe sottostanti =$D$15 e =$E$15
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

Dovrei aver finito. Consiglio un discreto numero di test. Allego progetto zippato così da poter intanto eseguire i test che mi sono venuti in mente.
Screenshot-2.png
Bisogna decomprimere il pacchetto, aprire il file calc, impostare il corretto percorso della cartella principale (Archivio), impostare indirizzo e psw nel secondo foglio, nel primo foglio selezionare l'indirizzo aggiunto e premere il pulsante di invio email.

Al termine della macro comparirà un resoconto del processo eseguito. Alla chiusura del documento verrà eseguita una macro per eliminare le passwords, se volete.
 Editato: L'allegato funziona correttamente con Libreoffice. Con openoffice c'è il problema della corretta codifica del file html perchè comportamento diverso dell'interfaccia XsimpleFileAccess tra le due distro. Maggiori dettagli li trovate qui:
viewtopic.php?f=30&t=7777#p41682 
Allegati
ProgettoInvio.zip
(195.54 KiB) Scaricato 161 volte
Ultima modifica di unlucky83 il martedì 27 settembre 2016, 12:55, modificato 2 volte in totale.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

Ok faccio delle prove e ti faccio sapere
LibreOffice 7.4 Kubuntu 22.04 LTS
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

Ciao unlucky.
Perché nella cella dedicata (da B15 in poi) all'inserimento delle mail destinatario sono tutte collegate tra loro? In particolare la cella B15 è collegata alla C2 (perché c'è un "+" d'avanti a "C"?) e le successive - B16, B17 etc - sono collegate alla B15. Infatti compare sempre la mail del mittente.
Provo a cancellare e vedere cosa succede

Poi alcune domande:
1) Nella parte dedicata agli indirizzi del destinatario, per intenderci tutto il blocco da B15 a E15 a scendere posso aggiungere o eliminare le righe (comando: seleziona riga - aggiungi riga)?
2) nella cella C15 (nome cartella contatto) a scendere fa distinzione se uso lettere maiuscolo/minuscolo rispetto a come è nominata la cartella? Esempio: il nome della cartella è Esposito. Se nella cella scrivo esposito trova lo stesso la cartella oppure è necessario scrivere come è nominata la cartella?
LibreOffice 7.4 Kubuntu 22.04 LTS
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Macro per invio mail con allegati

Messaggio da paolokap »

Niente mi da errore. Aspetto la risposta al precedente messaggio e poi allego l'errore che ricevo
LibreOffice 7.4 Kubuntu 22.04 LTS
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Macro per invio mail con allegati

Messaggio da unlucky83 »

paolokap ha scritto:Perché nella cella dedicata (da B15 in poi) all'inserimento delle mail destinatario sono tutte collegate tra loro?...Infatti compare sempre la mail del mittente.
Ovviamente nell'uso normale, i destinatari sono diversi dal mittente. Per testare il file, invece, bisogna provare a spedire l'email e verificare se e come arrivano. Per far questo avrei dovuto scrivere in tutte le celle del destinatario sempre la mia stessa email (di cui ho le credenziali di accesso), quindi solo per la fase TEST ho "collegato" queste celle con quella dell'indirizzo del mittente. Una volta che il file avrà superato tutte le verifiche, inserirai gli indirizzi dei veri destinatari, tempestandoli di email utili e corrette.
1) Nella parte dedicata agli indirizzi del destinatario, per intenderci tutto il blocco da B15 a E15 a scendere posso aggiungere o eliminare le righe (comando: seleziona riga - aggiungi riga)?
E' un passaggio inutile, non ci sono aree di celle definite nel foglio, non ci sono celle con formule nel primo foglio (non ci saranno quando avremo ultimato la fase dei test e avremo inserito gli indirizzi dei destinatari). E' sufficiente copiare le celle B15:E15 e incollarle nel primo rigo vuoto, così da incollare le formattazioni della cella (colore sfondo, formato del contenuto, l'allineamento)
Se devi togliere un contatto puoi usare elimina righe oppure selezionare le celle del rigo, premere canc e impostare di nuovo lo sfondo cella su trasparente.
2) nella cella C15 (nome cartella contatto) a scendere fa distinzione se uso lettere maiuscolo/minuscolo rispetto a come è nominata la cartella?
Assolutamente si, deve essere una stringa che rispetta esattamente la sequenza di minuscole maiuscole...ovvero una stringa IDENTICA al nome della cartella
Provo a cancellare e vedere cosa succede
Alcune di queste domande non le avresti fatte se avessi prima provato le alternative, soprattutto quella del nome della cartella
paolokap ha scritto:Niente mi da errore. Aspetto la risposta al precedente messaggio e poi allego l'errore che ricevo
Spara :cry: :lol:

@patel hai provato anche tu il file? hai segnalazioni, suggerimenti e/o correzioni da fare?
Ora il codice si è complicato un bel pò con un lungo elenco di variabili private e un uso abbondante di istruzioni if (anche perchè sono riuscito ad aggiungere l'acquisizione del body predefinito salvato in un file html), potrei non aver preso in considerazione delle possibilità
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Rispondi