macro que capture pantalla
Jose,
yo estoy intentando realizar lo mismo. por ahora desde VBA solo he encontrado macros que capturan la totalidad de la ventana y la guardan en Excel.
Te comparto cual fue mi solución debido a que en vba aun no logro hacer que sea solo una región especifica:
1, realice una consulta web desde Excel para que abriera la pagina que deseaba.
2, dentro del código coloque un Shell para que ejecutara el programa recortes
3, después de abrir el programa recortes que por defecto abre para seleccionar la parte a copiar, agregue con otro Shell la ejecución de un script para realizar la tarea de selección de la zona y que después presionase el botón copiar.
4, con la imagen en el portapapeles, solo aplique el pegado del Excel. Este se puede hacer de 2 formas con SendKeys o con ActiveSheets.Paste
5, cerrar la aplicación de Recortes.
El script fue algo mas complicado de realizar. ESto lo hice con la herramiento AutoIT (la penúltima versión ya que tiene un gestor grafico para grabar Bot) con la herramienta que trae en una de sus carpeta pero que no se instala que se llama AU3Record.Exe
Si tienes algo mejor favor te pido me lo puedas compartir, ya que el script que tengo aplica solo para mi PC por la configuración del tamaño de la pantalla y lo que quiero es correr el proceso en varios PC diferentes.
El código es mas menos así:
'primero abrimos la pagina web y le decimos que el readystate es 4 para que cargue de forma completa.
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "http://www.bloomberg.com"
ie.Visible = True
Do Until ie.readyState = 4
DoEvents
Loop
'abrimos la herramienta recortes
Shell "C:\Windows\system32\SnippingTool.exe", vbNormalFocus
'Ejecutamos el script que hace el rango que queremos y presiona el botón de la aplicación "Copiar"
Shell "C:\Users\lfuentes\Desktop\Capturar_Pantalla.exe", vbNormalNoFocus
'pegamos la región copiada gracias al script.
sheets("Var%").range("A1").select
ActiveSheet.Paste
'Cerramos la herramienta recortes
AppActivate "Recortes"
Application.SendKeys "%{F4}"
'cerramos la sesión de navegación de internet
ie.Quit
Espero haberte ayudado con tu problema.
Saludos.