Copiar y pegar en un documento .jpg

Ya se que tu especialidad no es el excel, pero creo que siendo esta una cuestión de código de visual basic no creo que tengas ningún problema...
Mi pregunta (que por otra parte me urge saber) es si es posible seleccionar un rango de una hoja de excel y, copiarlo en un documento de imagen (formato .jpg) (vaya, sí que es posible hacerlo manualmente: copiar el rango y abriendo el "paint" pegar y guardar el paint com imagen de bits o documento .jpg), pero para que esta acción se ejecute dentro de una macro necesitaría escribirla en código de visual basic. ¿Crees qué es posible?
Cordialment,
Midma

2 respuestas

Respuesta
1
Supongo que tendrás que:
1) Hacer la selección de la región a copiar
2) Hacer edición - copiar
(Estos dos puntos los puedes ver grabando una macro y después editando para ver como se hace)
3) Supuestamente al terminar eso, el objeto está en el portapapeles
4) A partir de ahí tendrás que investigar en el objeto portapapeles de vb, sobre todo ver si tiene para guardar directamente en archivo.
Salud y que te sea leve
Respuesta

Crea un botón en excel e inserta este código.

Set H1 = Sheets("TUHOJA")

Set H2 = Sheets.Add

ruta = "C:\Users\Desktop\EMPRESA\Comprobantes\" '(ACA TU RUTA)

archivo = ruta & H1.[H4] & ".JPG"

rango = "TURANGO"

With H1.Range(rango)

fi = .Cells(1, 1).Row

ff = .Rows.Count + fi - 1

ci = .Cells(1, 1).Column

cf = .Columns.Count + ci - 1

izq = .Cells(1, 1).Left

der = H1.Cells(1, cf + 1).Left

baj = .Cells(1, 1).Top

arr = H1.Cells(ff + 1, 1).Top

anc = der - izq

alt = arr - baj

End With

H1.Range(rango).CopyPicture

H2.Shapes.AddChart

With H2.ChartObjects(1)

.Width = anc

.Height = alt

.Chart.Paste

.Chart.Export archivo

.Delete

End With

Application.DisplayAlerts = False

H2.Delete

Application.DisplayAlerts = True

PD: solo me funciona con excel 2013.

PD2: [H4] es una celda que contiene cierto valor, y utilizo ese valor para colocarle el nombre del archivo .jpg

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas