[Risolto] Inoltro automatico dati via e-mail
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
[Risolto] Inoltro automatico dati via e-mail
Ho un file in CAL con diversi fogli + un foglio riepilogativo. Dei singoli fogli ho necessità di estrapolare dei dati (racchiusi dalla colonna “A” a colonna “K”) ed inviarli via e-mail a diversi indirizzi. Quindi mi serve una macro che faccia tutto. Allego una tabella per effettuare degli esempi e nel foglio 13 riporto un fac simile di come vorrei inviare l'e-mail e ulteriori dettagli.
Nel foglio “Cliente Avellino” riporto la macro da perfezionare da un errore nella compilazione. Premetto che ho come gestore della posta elettronica “OUTLOOK EXPRESS”.
Allego anche un file dell'errore della macro.
Nel foglio “Cliente Avellino” riporto la macro da perfezionare da un errore nella compilazione. Premetto che ho come gestore della posta elettronica “OUTLOOK EXPRESS”.
Allego anche un file dell'errore della macro.
- Allegati
-
- FOGLIO GENERALE TABELLE 30-01-2014.ods
- (38.27 KiB) Scaricato 306 volte
Ultima modifica di charlie il domenica 2 marzo 2014, 14:19, modificato 2 volte in totale.
Motivazione: Aggiunto segno di spunta verde
Motivazione: Aggiunto segno di spunta verde
Re: Inoltro automatico dati via e-mail
Ti suggerisco inoltre le seguenti discussioni:
viewtopic.php?f=9&t=5183 <- E' una discussione recente e interessante
viewtopic.php?t=4305#p20616 <-Avevo delle necessità simili alle tue e in questa discussione ho trovato le mie risposte
http://www.oooforum.org/forum/viewtopic.phtml?p=122360 <-Forum straniero in cui ho trovato le macro che hanno risolto il mio problema
viewtopic.php?f=9&t=5183 <- E' una discussione recente e interessante
viewtopic.php?t=4305#p20616 <-Avevo delle necessità simili alle tue e in questa discussione ho trovato le mie risposte
http://www.oooforum.org/forum/viewtopic.phtml?p=122360 <-Forum straniero in cui ho trovato le macro che hanno risolto il mio problema
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
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
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
Buona sera Gaetanopr
ho allegato il file con la macro da te creata per l'inoltro via e-mail mi dà un errore come da immagine allegata.
ho modificato il percorso della cartella \INVII\ lo messa direttamente su "C". come programma di posta elettronica ho Outlook Express
ho allegato il file con la macro da te creata per l'inoltro via e-mail mi dà un errore come da immagine allegata.
ho modificato il percorso della cartella \INVII\ lo messa direttamente su "C". come programma di posta elettronica ho Outlook Express
OpenOffice 3.3 e 4
Re: Inoltro automatico dati via e-mail
Non so che dirti, io l'ho provata e mi funziona, naturalmente usando outlook, potresti provare le macro di uno dei link che ti ha proposto unlucky83 oppure prova registrando una macro a vedere cosa succede.pimarco1959 ha scritto:Buona sera Gaetanopr
ho allegato il file con la macro da te creata per l'inoltro via e-mail mi dà un errore come da immagine allegata.
ho modificato il percorso della cartella \INVII\ lo messa direttamente su "C". come programma di posta elettronica ho Outlook Express
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Inoltro automatico dati via e-mail
Guardando questa pagina
https://wiki.openoffice.org/wiki/Docume ... ress_books
credo proprio che il nome corretto di Outlook Express sia outlookexp
Forse questa osservazione è banale, ma è ovvio che trattandosi di applicazioni diverse (outlook non è outlook express), debbano avere nomi differenti.
Forse il nome che ti ho suggerito è quello corretto, ma se non lo fosse o continui a cercarlo sul web o cambi il client, per esempio inizi ad usare Outlook
https://wiki.openoffice.org/wiki/Docume ... ress_books
credo proprio che il nome corretto di Outlook Express sia outlookexp
Forse questa osservazione è banale, ma è ovvio che trattandosi di applicazioni diverse (outlook non è outlook express), debbano avere nomi differenti.
Forse il nome che ti ho suggerito è quello corretto, ma se non lo fosse o continui a cercarlo sul web o cambi il client, per esempio inizi ad usare Outlook
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
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
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
Ho variato il client inserito nella macro da "Outlook" a "Outlookexp" (come sopra detto io ho Outlook Express) quando avvio la macro mi evidenzia questa stringa <oMail = AppOutlookexp.CreateItem(0)> e mi da questo errore <Errore di runtime BASIC. Variabile dell'oggetto non impostato> (cfr file allegato)
Chi mi può aiutare?
allego la tabella di prova + copia dell'errore

Chi mi può aiutare?
allego la tabella di prova + copia dell'errore
- Allegati
-
- FOGLIO GENERALE TABELLE 02-02-2014.ods
- (43.01 KiB) Scaricato 262 volte
-
- errore 02-02-2014.doc
- (43.5 KiB) Scaricato 249 volte
Re: Inoltro automatico dati via e-mail
Credo che il nome da me suggerito non vada bene...in rete non si trova nulla...incredibile!
Eppure outlook express per anni è stato un programma preistallato di windows.
Dovresti controllare il task manager mentre outlook express è in esecuzione...così sappiamo con quale nome windows lo gestisce.
Eppure outlook express per anni è stato un programma preistallato di windows.
Dovresti controllare il task manager mentre outlook express è in esecuzione...così sappiamo con quale nome windows lo gestisce.
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
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
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
Nel foglio “Cliente Avellino”ho creato una formula che mi permette di avviare Outlook Express per inoltrare le e-mail. Chi mi può dare un aiuto a collegare al testo anche la tabella che va dal rigo 11 della colonna “A” sino a colonna “K” va da se solo le celle con i dati e non tutto il foglio anche senza dati. Potrebbe andare bene anche trasformare la tabella in PDF e inviarla come allegato alla e-mail di cui sopra
allego file
allego file
- Allegati
-
- TABELLA + E-MAIL DA CAL 3-02-2014.ods
- (44.28 KiB) Scaricato 274 volte
Re: Inoltro automatico dati via e-mail
Ciao, prova il file che ti allego, tramite il pulsante inserito "dovrebbe" aprirsi la maschera per il pdf, scegli selezione e fai invio
- Allegati
-
- TABELLA %2B E-MAIL DA CAL 3-02-2014.ods
- (38.45 KiB) Scaricato 312 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
ciao Gaetano
Puoi provare ad inserire la tabella nella e-mail senza fare il PDF? in questo modo dovrei risolvere tutti i problemi in quanto se clicco sul tasto giallo invio l'e-mail (quello da me fatto) parte tranquillamente con Outlook express. Quindi se si può collegare la tabella da "A" a "K" (eventualmente con il comandao di farlo rientrare tutte le colonne in un foglio) andra' bene così
Grazie
Puoi provare ad inserire la tabella nella e-mail senza fare il PDF? in questo modo dovrei risolvere tutti i problemi in quanto se clicco sul tasto giallo invio l'e-mail (quello da me fatto) parte tranquillamente con Outlook express. Quindi se si può collegare la tabella da "A" a "K" (eventualmente con il comandao di farlo rientrare tutte le colonne in un foglio) andra' bene così
Grazie
Re: Inoltro automatico dati via e-mail
Ciao, hai provato il file che ti ho allegato, io l'ho provato adesso su un pc dove c'è configurato outlook express e funziona bene.
nel secondo caso credo che non puoi usare il sistema da te adottato(pdf o ods è sempre un allegato)
nel primo caso dovresti inserire tutti i dati in una cella......magari concatenandoli tramite una macro ma con tanti dati avresti sicuramente problemi per non parlare dell'aspetto estetico e anche funzionale
Senza fare il pdf intendi come corpo del testo? oppure inviare direttamente il file ods?pimarco1959 ha scritto:ciao Gaetano
Puoi provare ad inserire la tabella nella e-mail senza fare il PDF? in questo modo dovrei risolvere tutti i problemi in quanto se clicco sul tasto giallo invio l'e-mail (quello da me fatto) parte tranquillamente con Outlook express. Quindi se si può collegare la tabella da "A" a "K" (eventualmente con il comandao di farlo rientrare tutte le colonne in un foglio) andra' bene così
Grazie
nel secondo caso credo che non puoi usare il sistema da te adottato(pdf o ods è sempre un allegato)
nel primo caso dovresti inserire tutti i dati in una cella......magari concatenandoli tramite una macro ma con tanti dati avresti sicuramente problemi per non parlare dell'aspetto estetico e anche funzionale
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
ciao Gaetano
Ho avviato la macro è ho notato quanto segue:
se sulla cella E1 è inserito l'indirizzo e-mail mi dà l'errore (non fa partire alcuna e-mail)
se non inserisco nulla sulla E1 si apre outlook express e riporta l'oggetto "informativa" mi allega il PDF ma non riporta il testo inserito nel riquadro "E4"
a te è andato tutto bene?
Ho avviato la macro è ho notato quanto segue:
se sulla cella E1 è inserito l'indirizzo e-mail mi dà l'errore (non fa partire alcuna e-mail)
se non inserisco nulla sulla E1 si apre outlook express e riporta l'oggetto "informativa" mi allega il PDF ma non riporta il testo inserito nel riquadro "E4"
a te è andato tutto bene?
Re: Inoltro automatico dati via e-mail
Premendo il pulsante mi figura la maschera per le opzioni Pdf, scelgo selezione faccio Ok e mi figura la maschera Outlook Express per l'invio dell'email, quindi "INVIA" e il gioco è fatto
Invece usando outlook con la precedente macro, l'invio è completamente automatico, premendo il pulsante non devi dare ulteriori Ok.
allego l'immagine
Invece usando outlook con la precedente macro, l'invio è completamente automatico, premendo il pulsante non devi dare ulteriori Ok.
allego l'immagine
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
l'immagine è la stessa, non so perchè ma quando do invio il messaggio non parte e mi dà l'errore in Outlook Express.
Tu non hai verificato se il teso di colonna "E4" viene inserito nella e-mail. Fai una prova non inserire l'indirizzo e-mail e lancia la macro in questo modo puoi verificare se ti riporta il testo.
Se non riesco mi accontento di scrivere manualmente gli indirizzi e-mail ma il grosso di selezionare trasformare in pdf+allegare file+scrivere testo avviene in automatico.
Se riscrivi una nuova macro la invii?
Grazie
Tu non hai verificato se il teso di colonna "E4" viene inserito nella e-mail. Fai una prova non inserire l'indirizzo e-mail e lancia la macro in questo modo puoi verificare se ti riporta il testo.
Se non riesco mi accontento di scrivere manualmente gli indirizzi e-mail ma il grosso di selezionare trasformare in pdf+allegare file+scrivere testo avviene in automatico.
Se riscrivi una nuova macro la invii?
Grazie
Re: Inoltro automatico dati via e-mail
Hai ragione in merito al corpo dell'email, come puoi vedere dall'immagine non l'ho avevo inserito e non mi ero accorto della mancanza(mi ero concentrato sul funzionamento dell'allegato), oltretutto andando a leggere il link di unlucky83 anche lui fà presente questo.
Potresti inserire sia il destinatario che il corpo dell'email facendo copia incolla, considerando che si tratta di copiare solamente il contenuto di due celle.
Altrimenti sempre nel link suggerito da unlucky83 è presente una macro a fondo pagina che funziona perfettamente, tutto viene impostato da macro, però non puoi inserire il CC e il CCN.
Ti allego il file, devi sempre lanciare la macro "Email_PDF" oppure in maniera indipendente la macro "Testmail" che si trova nel Module1.
Ricordati di impostare i parametri con i tuoi dati.
Potresti inserire sia il destinatario che il corpo dell'email facendo copia incolla, considerando che si tratta di copiare solamente il contenuto di due celle.
Altrimenti sempre nel link suggerito da unlucky83 è presente una macro a fondo pagina che funziona perfettamente, tutto viene impostato da macro, però non puoi inserire il CC e il CCN.
Ti allego il file, devi sempre lanciare la macro "Email_PDF" oppure in maniera indipendente la macro "Testmail" che si trova nel Module1.
Ricordati di impostare i parametri con i tuoi dati.
- Allegati
-
- TABELLA E-MAIL DA CAL 3-02-2014.ods
- (40.04 KiB) Scaricato 276 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
forse c'è un errore nella macro atteso che pur avendo inserito i miei dati le macro non funzionano c'è un errore <ERRORE DI SINTASSI BASIC ATTESO:=> che non riesco a togliere
Re: Inoltro automatico dati via e-mail
Oltre ai tuoi dati devi inserire i dati del server del tuo provider.
Dovresti dirmi quali dati hai inserito, password a parte naturalmente.
Dovresti dirmi quali dati hai inserito, password a parte naturalmente.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
Ciao Gaetano,
Ho riprovato e forse va bene ero io che commettevo un errore nel variare i dati. Solo due cose, è possibile aggiungere il “CC”? servirebbe per portare a conoscenza i rappresentanti o altri soggetti interessati. In ultimo, penso che ante tu ti sei accordo di questa cosa, basta pigiare anche in maniera involontaria il pulsante e parte la e-mail. E’ possibile inserire una stringa che blocchi l’invio accidentale?
Ho riprovato e forse va bene ero io che commettevo un errore nel variare i dati. Solo due cose, è possibile aggiungere il “CC”? servirebbe per portare a conoscenza i rappresentanti o altri soggetti interessati. In ultimo, penso che ante tu ti sei accordo di questa cosa, basta pigiare anche in maniera involontaria il pulsante e parte la e-mail. E’ possibile inserire una stringa che blocchi l’invio accidentale?
OpenOffice 3.3 e 4
Re: Inoltro automatico dati via e-mail
Se si usa un array contenente tutte le email a cui inviare lo stesso messaggio, si ha l'invio multiplo del messaggio, ma ciascun destinatario non vede le email degli altri destinatari. Quindi se quello che cerchi è proprio il CC, con le seguenti modifiche non risolvi.
Provo a documentarmi un pò su come modificare la macro per avere il CC (ci dovrebbe essere un modo, perchè sarebbe strano che non ci abbiano pensato)
Editato: Guardare suggerimento di Gaetano |
Ultima modifica di unlucky83 il mercoledì 5 febbraio 2014, 14:50, modificato 1 volta 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
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
Re: Inoltro automatico dati via e-mail
Ciao anch'io avevo pensato ad un invio multiplo, avevo dato un'occhita al servizio "com.sun.star.mail.MailMessage.createWithAttachment"
http://www.openoffice.org/api/docs/comm ... ssage.html
tra i parametri disponibili manca CCN e CC, però l'interfaccia XmailMessagge lo prevede
http://www.openoffice.org/api/docs/comm ... ssage.html
per quanto riguarda l'invio accidentale aggiungi questa riga ad inizio macro
http://www.openoffice.org/api/docs/comm ... ssage.html
tra i parametri disponibili manca CCN e CC, però l'interfaccia XmailMessagge lo prevede
http://www.openoffice.org/api/docs/comm ... ssage.html
per quanto riguarda l'invio accidentale aggiungi questa riga ad inizio macro
Codice: Seleziona tutto
If Msgbox ("Vuoi procedere con l'invio ? ", 33, "Invio Email") = 2 Then Exit Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Inoltro automatico dati via e-mail
Editato: Questo messaggio confonde solo le idee. Guardare il messaggio seguente di Gaetanopr |
Ultima modifica di unlucky83 il mercoledì 5 febbraio 2014, 14:56, modificato 1 volta 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
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
Re: Inoltro automatico dati via e-mail
Io invece avevo pensato a fare un ciclo da E1 a E3 modificando soltanto la sub Testmail
Codice: Seleziona tutto
sub Testmail
Dim oObj As Object
Dim oMail As Object, Sh As Object
If Msgbox ("Vuoi procedere con l'invio ? ", 33, "Invio Email") = 2 Then Exit Sub
Doc = ThisComponent
Controller = Doc.CurrentController
Sh = Controller.ActiveSheet
Body = Sh.getCellRangeByName("E4").String
For i = 0 To 2
If Sh.getCellByPosition(4, i).String <> "" then
testRecipient = Sh.getCellByPosition(4, i).String
Trovato = True
smtpPassword = "XXXXXXX" ' INDICARE LA TUA PASSWORD
attachmentType = "application/pdf"
sendMail(testRecipient, "Informativa", Body, _
ConvertToUrl("C:\Invii\" & Sh.Name & ".pdf")) '
' sendMail(testRecipient, "No attachment", "Test the second") per inviare senza allegato
End if
Next i
If Trovato = False Then
MsgBox "Manca Destinatario"
Exit Sub
End if
end sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Inoltro automatico dati via e-mail
Hai ragione, è sufficiente seguire le tue indicazioni e ignorare le mie
Hehe..è che a suo tempo, quando avevo trovato queste macro, avevo modificato la funzione SendMail in modo tale che fosse più flessibile, ovvero che accettasse sia un solo indirizzo sia un array e mi ero scordato di aver fatto ciò.
Controllando superficialmente il mio file in cui uso queste macro, ho suggerito la prima serie di modifiche, ma osservando attentamente c'era bisogno di modificare la macro SendMail.
Hehe..è che a suo tempo, quando avevo trovato queste macro, avevo modificato la funzione SendMail in modo tale che fosse più flessibile, ovvero che accettasse sia un solo indirizzo sia un array e mi ero scordato di aver fatto ciò.
Controllando superficialmente il mio file in cui uso queste macro, ho suggerito la prima serie di modifiche, ma osservando attentamente c'era bisogno di modificare la macro SendMail.
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
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
Re: Inoltro automatico dati via e-mail
Gaetanopr, ho provato a inserire questo comando:Gaetanopr ha scritto:Ciao anch'io avevo pensato ad un invio multiplo, avevo dato un'occhita al servizio "com.sun.star.mail.MailMessage.createWithAttachment"
http://www.openoffice.org/api/docs/comm ... ssage.html
tra i parametri disponibili manca CCN e CC, però l'interfaccia XmailMessagge lo prevede
http://www.openoffice.org/api/docs/comm ... ssage.html
Codice: Seleziona tutto
msgbox messagge.Dbg_Methods
SbxEMPTY queryInterface ( SbxOBJECT ) ;
SbxARRAY getTypes ( void ) ;
SbxARRAY getImplementationId ( void ) ;
SbxVOID addRecipient ( SbxSTRING ) ;
SbxVOID addCcRecipient ( SbxSTRING ) ;
SbxVOID addBccRecipient ( SbxSTRING ) ;
SbxARRAY getRecipients ( void ) ;
SbxARRAY getCcRecipients ( void ) ;
SbxARRAY getBccRecipients ( void ) ;
SbxVOID addAttachment ( SbxOBJECT ) ;
SbxARRAY getAttachments ( void )
Ho provato a mettere message.addCcRecipient(email desiderata) prima dell'invio del messaggio e il risultato è positivo...Funziona!

Codice: Seleziona tutto
...
message.addCcRecipient(emailCC)
service.sendMailMessage(message)
...

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
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
Re: Inoltro automatico dati via e-mail
Ottimo unlucky83, quindi possiamo togliere il ciclo e gestire il tutto con un paio di if then
esempio: if emailCC <>"" Then message.addCcRecipient(emailCC)
Stessa cosa per BCC
Più tardi modifico
Ciao
esempio: if emailCC <>"" Then message.addCcRecipient(emailCC)
Stessa cosa per BCC
Più tardi modifico
Ciao
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Inoltro automatico dati via e-mail
Credo che stavolta sia l'ultima modifica
la seguente riga
puoi toglierla da questa macro e inserirla all'inizio della "Email_PDF", in quanto se pigi involontariamente il pulsante prima avviene il salvataggio in pdf del foglio corrente e poi si riceve l'avviso se inviare o meno l'email.
Ciao
Codice: Seleziona tutto
'Option Explicit
' ======= just for testing =======
Private emailCC As String
Private emailBCC As String
sub Testmail
If Msgbox ("Vuoi procedere con l'invio ? ", 33, "Invio Email") = 2 Then Exit Sub
Dim oObj As Object
Dim oMail As Object, Sh As Object
Doc = ThisComponent
Controller = Doc.CurrentController
Sh = Controller.ActiveSheet
testRecipient = Sh.getCellRangeByName("E1").String
emailCC = Sh.getCellRangeByName("E2").String
emailBCC = Sh.getCellRangeByName("E3").String
Body = Sh.getCellRangeByName("E4").String
If testRecipient Like "*@*.*" Then
smtpPassword = "XXXXXXX" ' INDICARE LA TUA PASSWORD
attachmentType = "application/pdf"
sendMail(testRecipient, "Informativa", Body, _
ConvertToUrl("C:\Invii\" & Sh.Name & ".pdf")) '
' sendMail(testRecipient, "No attachment", "Test the second") per inviare senza allegato
Else
MsgBox "Destinatario errato o mancante"
End if
end sub
' ======== your details go here ========
const myAddress = "XXXXXX@libero.it" 'Tuo indirizzo email
const smtpServer = "smtp.libero.it" 'inserire il smtpServer del tuo provider
const smtpPort = 25
const smtpSecure = false 'true ' true se si gestisce
const smtpUser = "XXXXXXX@libero.it" 'Tuo indirizzo email
const attachmentMaxSize = 100000
' these variables are needed by listener functions, to which they cannot be passed as arguments
private smtpPassword as String
private messageBody as String
private attachmentContents as Object
private attachmentType as String
sub sendMail(recipient, subject, body, Optional attachmentUrl)
dim bodyObject as Object, attachment as Object, message as Object, _
serviceProvider as Object, service as Object, server as Object, mailUser as Object
bodyObject = CreateUNOListener("body_", "com.sun.star.datatransfer.XTransferable")
messageBody = body
if not IsMissing(attachmentUrl) then _
if attachmentFromUrl(attachment, attachmentUrl) <> "OK" then : exit sub
end if
message = com.sun.star.mail.MailMessage.createWithAttachment(_
recipient, myAddress, subject, bodyObject, attachment)
serviceProvider = CreateUNOService("com.sun.star.mail.MailServiceProvider")
service = serviceProvider.Create("com.sun.star.mail.SMTP")
server = CreateUNOListener("smtp_", "com.sun.star.uno.XCurrentContext")
mailUser = CreateUNOListener("user_", "com.sun.star.mail.XAuthenticator")
If emailCC Like "*@*.*" Then message.addCcRecipient(emailCC)
If emailBCC Like "*@*.*" Then message.addBccRecipient(emailBCC)
service.Connect(server, mailUser)
service.SendMailMessage(message)
service.Disconnect()
end sub
' ======= extract attachment data from file ========
function attachmentFromUrl(attachment, url)
dim chunks() as String, fileName as String, fileService as Object, _
attachmentFile as Object, fileContents() as Byte
chunks() = Split(url, "/")
fileName = ConvertFromUrl(chunks(UBound(chunks()))
fileService = createUnoService("com.sun.star.ucb.SimpleFileAccess")
attachmentFile = fileService.OpenFileRead(url)
attachmentFile.ReadBytes(fileContents(), attachmentMaxSize + 1)
attachmentFile.CloseInput
if (UBound(fileContents()) + 1 > attachmentMaxSize) then
msgBox "Attachment file '" & fileName & "' is too big"
exit function
elseIf (UBound(fileContents()) < 0) then
msgBox "Attachment file '" & fileName & "' is empty"
exit function
end if
attachmentContents = CreateUnoValue( "[]byte", fileContents())
attachment = CreateObject("com.sun.star.mail.MailAttachment")
attachment.Data = CreateUNOListener("attachment_", "com.sun.star.datatransfer.XTransferable")
attachment.ReadableName = fileName
attachmentFromUrl = "OK"
end function
' ===== server properties =====
function smtp_GetValueByName(what)
select case what
case "ServerName"
smtp_GetValueByName = smtpServer
case "Port"
smtp_GetValueByName = smtpPort
case "ConnectionType"
if smtpSecure then
smtp_GetValueByName = "SSL"
else
smtp_GetValueByName = "Insecure"
endif
end select
end function
' ====== email user methods =======
function user_GetUserName()
user_GetUserName = smtpUser
end function
function user_GetPassword()
user_GetPassword = smtpPassword
end function
' ====== message body object methods ======
function body_GetTransferDataFlavors()
dim flavor as new com.sun.star.datatransfer.DataFlavor
flavor.MimeType = "text/plain;charset=utf-16"
flavor.HumanPresentableName = "Unicode text"
body_getTransferDataFlavors = Array(flavor)
end function
function body_GetTransferData(flavor) as any
if (flavor.MimeType = "text/plain;charset=utf-16") then
body_GetTransferData = messageBody
end if
end function
function body_isDataFlavorSupported(x as Object)
body_isDataFlavorSupported = (x.MimeType = "text/plain;charset=utf-16")
end function
' ====== attachment object methods ======
function attachment_GetTransferDataFlavors()
dim flavor as new com.sun.star.datatransfer.DataFlavor
flavor.MimeType = attachmentType
flavor.HumanPresentableName = attachmentType
attachment_getTransferDataFlavors = Array(flavor)
end function
function attachment_GetTransferData(flavor) as any
if (flavor.MimeType = attachmentType) then
attachment_GetTransferData = attachmentContents
end if
end function
function attachment_isDataFlavorSupported(x as Object)
attachment_isDataFlavorSupported = (x.MimeType = attachmentType)
end function
Codice: Seleziona tutto
If Msgbox ("Vuoi procedere con l'invio ? ", 33, "Invio Email") = 2 Then Exit Sub
Ciao
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
Che squadra Gaetano e Unlucky83!!
Ho fatto una prova di inoltro e penso che va bene. Solo una cosa devo vedere se inserendo nella cella “E1” e “E2” e “E3” diversi indirizzi e-mail viene tutto inoltrato regolarmente. Penso, datemi conferma, che non ci dovrebbero essere problemi. A prova verificata vi faccio sapere

Ho fatto una prova di inoltro e penso che va bene. Solo una cosa devo vedere se inserendo nella cella “E1” e “E2” e “E3” diversi indirizzi e-mail viene tutto inoltrato regolarmente. Penso, datemi conferma, che non ci dovrebbero essere problemi. A prova verificata vi faccio sapere
Re: Inoltro automatico dati via e-mail
Prova mettendo in E1,E2 ed E3 il tuo indirizzo email (se ne hai due, userei la seconda per E3), va bene anche lo stesso che usi per inviare il messaggio. Quando controlli i messaggi di posta presta caso alle voci "a:" "cc:"
Io ho fatto questo tipo di test e il cc: mi risulta compilato. Non ho testato invece il BCC, ma non c'è motivo per cui non funzioni
Io ho fatto questo tipo di test e il cc: mi risulta compilato. Non ho testato invece il BCC, ma non c'è motivo per cui non funzioni

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
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
Re: Inoltro automatico dati via e-mail
Ciao Unlucky credo che lui intenda dire più destinatari, più cc e più bcc, quindi si dovrà sfruttare il metodo "addRecipient " per inserire altri destinatari
quindi più indirizzi in ogni cella, sempre se ho capito bene
può darsi che separandoli con ";" faccia tutto da solo
quindi più indirizzi in ogni cella, sempre se ho capito bene
può darsi che separandoli con ";" faccia tutto da solo
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 61
- Iscritto il: mercoledì 2 ottobre 2013, 18:52
Re: Inoltro automatico dati via e-mail
Esatto Gaetano. Se la macro va bene e quindi ti dà la possibilità di inserire nella cella "E1" tre indirizzi e-mail, nella cella "E2" due indirizzi e mail e così via nella cella "E3" ed inviali tranquillamente