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.