Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Webmail con dati foglio Excel

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

Webmail con dati foglio Excel

Postdi Ricky0185 » 30/09/20 22:12

Buonasera, la soluzione prospettata da Anthony per inviare email con nel corpo l'immagine del contenuto di un foglio excel, di cui al topic
viewtopic.php?f=26&t=111189
funziona perfettamente con Outlook. Che però non uso per il fatto che passa troppo tempo tra l'invio e la ricezione, almeno con il mio portatile. Per cui uso soltanto la Webmail.
Vorrei pertanto sapere se è possibile avere lo stesso risultato usando Webmail, cioè invio del contenuto di un foglio Excel come immagine nel corpo della Webmail.
Ringrazio dell'attenzione. Cordiali saluti
R
XP+Office2003
Ricky0185
Utente Junior
 
Post: 39
Iscritto il: 10/12/19 20:38

Sponsor
 

Re: Webmail con dati foglio Excel

Postdi Anthony47 » 01/10/20 09:41

Le automazioni per interagire con siti web sono giochi di tempo e di pazienza, perche' si tratta di ispezionare il sorgente html della pagina, individuare punti di aggancio per il vba, cercare la tecnica che si aggancia e risolvere le discrepanze che emergono nel test.
Ma sono anche giochi a termine, perche' appena il sorgente della pagina web cambia (e la cosa e' assolutamente fuori dal controllo degli utenti, anzi spesso non e' nemmeno percepibile dagli utenti) il gioco non funziona piu' ed e' tutto da rifare.
Inoltre c'e' la tendenza a non supportare piu' IExplorer come browser, mentre le automazioni web sono ancora basate su una libreria vba che supporta solo IE.

Insomma il mio suggerimento e' continuare a usare Outlook per le cose automatizzate e l'interfaccia preferita (altro client di posta, webmail) per il lavoro manuale.

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

Re: Webmail con dati foglio Excel

Postdi Ricky0185 » 02/10/20 09:16

Grazie del chiarimento.
E provare un doppio passaggio? Copio su word e copio da word a webmail? Ci ho provato, ma a me nella webmail compare un rettangolo bianco.
Ricky0185
Utente Junior
 
Post: 39
Iscritto il: 10/12/19 20:38

Re: Webmail con dati foglio Excel

Postdi Anthony47 » 02/10/20 14:27

L'interoperabilita' tra prodotti Office e altri programmi (es il Browser) non e' il mio forte, quindi non posso essere di aiuto.

Pero' potresti valutare la possibilita' di creare su un foglio Excel il testo della email da inviare; poi lo copi usando una macro che contiene l'istruzione
Codice: Seleziona tutto
Sheets("Messaggio").Range("A1:B6").Copy        '<<< Adatta nome foglio e intervallo

Incolli manualmente il messaggio sulla webmail

Poi torni su excel e con queste altre istruzioni copi l'area che va allegata come immagine:
Codice: Seleziona tutto
Application.CutCopyMode = False
Sheets("Foglio2").Range("E1:G5").CopyPicture Appearance:=xlScreen, Format:=xlBitmap

Incolli l'immagine dove serve nella mail

Per qualche automazione su come eseguire le macro in Excel, guarda viewtopic.php?f=26&t=103893&p=647678#p647678

Spero trovi qualche spunto utile...
Avatar utente
Anthony47
Moderatore
 
Post: 17155
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Webmail con dati foglio Excel

Postdi Ricky0185 » 04/10/20 15:57

Grazie dei suggerimenti.
come posso modificare l'istruzione
MakeJPG = CopyRangeToJPG("Foglio1", "A1:V32")
volendo inserire nel corpo dell'email 2 aree distinte del foglio. Con Outlook ovviamente.
Ricky0185
Utente Junior
 
Post: 39
Iscritto il: 10/12/19 20:38

Re: Webmail con dati foglio Excel

Postdi Anthony47 » 05/10/20 11:56

Allora devi allegare 2 immagini e devi inserire 2 riferimenti "CID".

Per avere 2 immagini dovresti modificare la Function CopyRangeToJPG, che ora genera sempre e solo lo stesso nomefile.jpg.
Non e' difficile crearne una "parametrizzata", dove nella chiamata inserisci anche un "suffisso" al nome immagine; ma oggi non ho tempo per fare nessuna prova, quindi la cosa piu' semplice che ti suggerisco e' di duplicare la Function CopyRangeToJPG con un secondo nome e facendogli generare un secondo nomefile2.jpg
Poi invece dell'attuale
.HTMLBody = "<html><p>" & strbody & "</p><img src=""cid:NamePicture.jpg"" width=450 height=400></html>"
Inserirai
Codice: Seleziona tutto
        strbody = strbody & "</p><img src=""cid:NamePicture.jpg"" width=450 height=400></html>"
        .HTMLBody = "<html><p>" & strbody & "</p><img src=""cid:NamePicture2.jpg"" width=450 height=400></html>"


Ti invito anche a riconsiderare l'uso della Function RangePublish, di cui ti avevo gia' detto nella discussione da cui hai derivato la presente discussione (viewtopic.php?f=26&t=111189#p652879)

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

Re: Webmail con dati foglio Excel

Postdi Ricky0185 » 09/10/20 13:43

Ti invito anche a riconsiderare....

Abbandonai il tuo suggerimento poichè mi dava sempre Tentativo fallito, mentre la macro che nel corpo dell'email allega il foglio come tabella dati e non immagine mi dava Errore 1004
Errore definito dall’applicazione o dall’oggetto
E nel debug in giallo
With ThisWorkbook.PublishObjects.Add(SourceType:=xlSourceRange, _
Filename:=TmpFile, _
Sheet:=mySh, _
Source:=PRan, _
HtmlType:=xlHtmlStatic)
Per allegare 2 aree distinte
Per avere 2 immagini dovresti modificare la Function CopyRangeToJPG, che ora genera sempre e solo lo stesso nomefile.jpg.
Non e' difficile crearne una "parametrizzata", dove nella chiamata inserisci.....

seeee, e che sono Nembo Kid. Qualche cosina oltre alla registrazione della macro la so fare, ma niente più.
Per inserire nell'email la tabella dati invece dell'immagine trovai una macro di Alfredo in altro forum che inserisce la tabella con i numeri e chiedo se invece è possibile oltre ai numeri anche le formule che li generano.
Ti saluto e come sempre ti ringrazio dell'interessamento.
Eccoti il file e sempre XP+Off2003
Ricky0185
Utente Junior
 
Post: 39
Iscritto il: 10/12/19 20:38

Re: Webmail con dati foglio Excel

Postdi Anthony47 » 10/10/20 02:41

Nel file allegato ho trovato la Sub Mail_con_AreaFoglio (che dovrebbe allegare un'area del foglio come Tabella all'interno del messaggio, appoggiandosi alla Function RangePublish) e la Sub Mail_con_Immagine (che dovrebbe allegare l'area del foglio come Immagine, appoggiandosi alla Function CopyRangeToJPG); immagino che sia la Sub Mail_con_Immagine quella pubblicata da Alfredo a cui fai riferimento nel testo.

Provando a eseguira la Sub Mail_con_AreaFoglio va in errore all'interno della RangePublish; ma questo succede perche' chiami la RangePublish con RangePublish("Master", "A1:M33"), ma non esiste (nel file che hai allegato) un foglio Master. Usando RangePublish("Foglio1", "A1:M33") l'email viene preparata integrando le celle Foglio1!A1:M33 nel corpo del messaggio. La modifica:
Codice: Seleziona tutto
'    .HTMLBody = "<html><p>" & strbody & RangePublish("Master", "A1:M33") '& cSec)
    .HTMLBody = "<html><p>" & strbody & RangePublish("Foglio1", "A1:M33") '& cSec)
In pratica ho "commentato" la riga sbagliata e inserita la riga con dei riferimenti validi

Se vuoi allegare una seconda area Excel allora accoderai all' htmlbody un ulteriore spezzone costruito con una seconda RangePublish. Esempio:
Codice: Seleziona tutto
    .HTMLBody = "<html><p>" & strbody & RangePublish("Foglio1", "A1:M33") '& cSec)
    .HTMLBody = .HTMLBody & "<br><br>" & RangePublish("Foglio2", "I1:L13")

Quanto alla possibilita' di creare immagini con nomi diversi, l'altro giorno fui poco attento, altrimenti ti avrei fatto notare che ggia' ora la Function CopyRangeToJPG consente di creare file con nomi diversi, tipo
"NomePicture_SUFFISSO.jpg"; basta che quando richiami la funzione, come terzo parametro inserisci il "suffisso" che vuoi dare al nome file (la prestazione era stata aggiunta qui: viewtopic.php?f=26&t=111189#p652879)
Tipo:
Codice: Seleziona tutto
MakeJPG = CopyRangeToJPG("Foglio1", "A1:M33", "UNO")    'Genera NomePicture_UNO.jpg
MakeJPG2 = CopyRangeToJPG("Foglio1", "A1:M33", "DUE")    'Genera NomePicture_DUE.jpg

Dovrai poi inserire due "cid", e qui non ho fatto pero' prove.
Avatar utente
Anthony47
Moderatore
 
Post: 17155
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Webmail con dati foglio Excel

Postdi Ricky0185 » 10/10/20 13:49

E che dire? Nonostante l'ora tarda la tua risposta (con qualche ora di miei tentativi) ha chiarito tutte le richieste.
Meno una
....e chiedo se invece è possibile oltre ai numeri anche le formule che li generano.

nell'inserimento della tabella nel corpo dell'email.
Ciao
Ricky0185
Utente Junior
 
Post: 39
Iscritto il: 10/12/19 20:38

Re: Webmail con dati foglio Excel

Postdi Anthony47 » 10/10/20 16:47

Se vuoi inserire le formule devi farlo con 2 ulteriori inserimenti, che avvierai dopo aver impostato DisplayFormulas = True
Poiche' questa impostazione e' a livello di Finestra visualizzata dovrai muoverti attraverso i fogli che devi copiare. Esempio:
Codice: Seleziona tutto
'Invio di 2 blocchi di dati:
    .HTMLBody = "<html><p>" & strbody & RangePublish("Foglio1", "A1:M33") '& cSec)
    .HTMLBody = .HTMLBody & "<br><br>" & RangePublish("Foglio2", "I1:L13")
'Invio degli stessi 2 blocchi ma come Formule:
    Sheets("Foglio1").Select
    ActiveWindow.DisplayFormulas = True
    .HTMLBody = .HTMLBody & "<br><br>" & RangePublish("Foglio1", "A1:M33")
    ActiveWindow.DisplayFormulas = False
    Sheets("Foglio2").Select
    ActiveWindow.DisplayFormulas = True
    .HTMLBody = .HTMLBody & "<br><br>" & RangePublish("Foglio2", "I1:L13")
    ActiveWindow.DisplayFormulas = False
    'etc


Ciao

keyw:
send email Outlook automation RangePublish

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


Torna a Applicazioni Office Windows


Topic correlati a "Webmail con dati foglio Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti

cron