MS Excel: cree una captura de pantalla de cada hoja (¿usando script?)


1

¿Es posible tomar capturas de pantalla de todas las hojas en Excel (por un script, por ejemplo)?

Mira este ejemplo . Quiero exportar de alguna manera los datos del rectángulo verde al JPG (u otro formato) y hacer esto para todas las hojas.

Encontré esta solución: excel vba: para exportar múltiples hojas de Excel en su archivo jpg designado y se ve bastante bien, pero hay un rango establecido Range("B5:M60"). ¿Es posible hacerlo de forma más dinámica?

Respuestas:


1

He modificado ligeramente el código mencionado para hacer lo siguiente.

Pase por todas las hojas

Solicite el uso del rango de entrada para capturar la captura de pantalla

Guarde Sheetname.jpg en la carpeta C: \ Temp. El nombre del archivo es Sheetname con extensión .jpg

Tenga en cuenta que esto no capturará ningún objeto incrustado, por ejemplo, formas insertadas o una imagen, etc. Solo capturará la captura de pantalla del rango de celdas que ingrese para cada hoja. Además, no existen validaciones estrictas. Si simplemente cancela la entrada, el código dará como resultado un error de tiempo de ejecución.

El código es el siguiente. Verifique si esto cumple con sus requisitos. El código original está en esta publicación SU

Sub exportpic()

Dim WS As Worksheet
Dim rgExp As Range
Dim CH As ChartObject


   For Each WS In ThisWorkbook.Sheets
            WS.Activate
            Set rgExp = Application.InputBox(prompt:="Select Input Range", Type:=8)
            rgExp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
            Set CH = WS.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, Width:=rgExp.Width, Height:=rgExp.Height)
            CH.Chart.ChartArea.Select
            CH.Chart.Paste
            CH.Chart.Export "C:\Temp\" & WS.Name & ".jpg"
            CH.Delete


    Next WS

End Sub

¡Gracias! Se ve muy bien. Una cosa más: ¿es posible habilitar copiar y pegar en ese cuadro de entrada?
Pepa Zapletal

No estoy muy seguro de lo que quieres decir exactamente con copiar y pegar. Cuando hace clic derecho en el cuadro de texto, si hay algo en el Portapapeles, debería aparecer la opción 'Pegar'.
patkim

Si, lo siento. Lo probé en hojas de solo lectura y estaba deshabilitado. Ahora esta bien.
Pepa Zapletal
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.