Excel - macro que capture pantalla

   
Vista:

macro que capture pantalla

Publicado por jose (1 intervención) el 21/09/2012 09:07:21
Buenos dias.

Necesito saber si una macro de excel podria hacer lo siguiente:

Acceder a un enlace web en el cual se mostrara una grafica y una serie de datos.
Una vez dentro de esa web hacer una captura de pantalla de dicha grafica y meterla como foto en excel.

p.d- hasta ahora lo hacia manualmente, entraba en la web y con la herramienta recortes cogia la zona de pantalla que me interesaba (en este caso la grafica) y la pegaba como imagen en excel.

un saludo y gracias anticipadas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

macro que capture pantalla

Publicado por Abraham Valencia (2418 intervenciones) el 21/09/2012 21:31:39
una de varias formas:

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/65.htm

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

macro que capture pantalla

Publicado por jose (1 intervención) el 02/10/2012 08:18:32
Gracias abraham, el caso es que en dichos enlaces no encuentro ninguno que realice la captura de una pagina web en concreto.

Es decir, que pueda ponerle la direccion de la web, las medidas a capturar de esa web(que eso si sale en los recursos)y me lo pegue en un sitio concreto de la hoja de excel.


Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

macro que capture pantalla

Publicado por Luis (2 intervenciones) el 05/01/2017 19:00:21
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.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar