Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Esportare una selezione in jpg utilizzando VBA (ma non paint o simili) - come si fa?

Ultimo Aggiornamento: 29/08/2017 18:58
Post: 233
Registrato il: 07/12/2006
Città: ROMA
Età: 45
Utente Junior
2013
OFFLINE
29/08/2017 01:27

Ciao a tutti,
volevo creare una macro per fare in modo da salvare un intervallo di celle in una immagine da mettere in un percorso sul pc, ad esempio "C:\immagine.jpg".

Qualcuno ha del codice che posso utilizzare, in rete trovo un po' di cose ma niente di valido
Post: 1.581
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
29/08/2017 09:26

Ciao
questo codice crea un "foglio grafico" chiamato mGraf, vi incolla il range indicato in oRange, salva in c:\miefoto\MyPic.jpg, per poi cancellare il suddetto foglio.

Saluti
Sub mImage()
Dim wsSheet As Worksheet, oRange As Range, oCht As Chart, oImg As Picture
Application.ScreenUpdating = False
On Error Resume Next
Sheets("mGraf").Select
If ActiveSheet.Name = "mGraf" Then
    Application.DisplayAlerts = False
    ActiveWindow.SelectedSheets.Delete
    Application.DisplayAlerts = True
End If
Set oRange = Range("A1:E30") '<<<< VARIARE
Set oCht = Charts.Add
oCht.Name = "mGraf"
oRange.CopyPicture xlScreen, xlPicture
oCht.Paste
filepath = "c:\miefoto\" '<<<< VARIARE
oCht.Export Filename:=filepath & "MyPic.jpg", FilterName:="jpg" '<<<< VARIARE NOME
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
[Modificato da dodo47 29/08/2017 09:27]
Domenico
Win 10 - Excel 2016
Post: 234
Registrato il: 07/12/2006
Città: ROMA
Età: 45
Utente Junior
2013
OFFLINE
29/08/2017 11:45

Mi si blocca alla linea di export, ed ho messo l'indirizzo dove esportare correttamente.

Non sono sicuro sia compatibile con Excel 2013, sto cercando qualcosa su Internet e sembra che funzioni solo con Excel 2016 il tuo metodo
Post: 1.582
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
29/08/2017 11:59

Ciao
non saprei, io ho excel 2010 e excel 2003, testato su entrambi non mi da problemi.

Prova a descrivere l'errore ricevuto, ma...non saprei cos'altro fare.
Segui in debug intanto per vedere se prima di quella istruzione ti trovi nel foglio grafico il range selezionato copiato, poi leggi nel tuo help le indicazioni sul metodo export.

saluti
Domenico
Win 10 - Excel 2016
Post: 3.937
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
29/08/2017 12:29

io preferisco questa
Sub CopyRangeToJPG()
Dim rng As Range, Cht As ChartObject
strPath = "D:\DATI\prova\"
Set rng = Range("A1:G7")
rng.CopyPicture xlScreen, xlPicture
Set Cht = ActiveSheet.ChartObjects.Add(0, 0, rng.Width, rng.Height)
Cht.Chart.Paste
Cht.Chart.Export strPath & "myfile.jpg"
Cht.Delete
Set Cht = Nothing
Set rng = Nothing
End Sub

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 235
Registrato il: 07/12/2006
Città: ROMA
Età: 45
Utente Junior
2013
OFFLINE
29/08/2017 18:58

Grazie,
ora funziona tutto :)

Ho utilizzato il codice di patel45
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 09:37. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com