Capture d'écran en VBA

Capture d'écran en VBA - VB/VBA/VBS - Programmation

Marsh Posté le 29-06-2004 à 11:41:56    

Bonjour   :hello:  
 
Je désire créer une procédure en VBA sous excel qui capture l'écran et l'enregistre en .jpg (à la rigeur en .bmp).
 
Vous avez des idées ?  :??:

Reply

Marsh Posté le 29-06-2004 à 11:41:56   

Reply

Marsh Posté le 29-06-2004 à 14:10:50    

capture d'écran en VBA, voilà qui est intéressant [:figti]
l'algo est tout con : récupérer le handle de l'écran via GetDC, puis le transmettre à la fonction BitBlt() avec les coordonnées, puis sauver le tout dans un fichier.
reste à savoir si c'est faisable en VBA...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 29-06-2004 à 14:22:47    

c'est mal barré, l'objet Screen ne fournit pas de handle (contrairement aux fenêtres) :/
 
Et ça doit être pire en Excel :/
 
Donc on va dire qu'à moins de vouloir se prendre de très grosses prises de tête, c'est pas possible :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 29-06-2004 à 23:47:01    

Harkonnen a écrit :

capture d'écran en VBA, voilà qui est intéressant [:figti]
l'algo est tout con : récupérer le handle de l'écran via GetDC, puis le transmettre à la fonction BitBlt() avec les coordonnées, puis sauver le tout dans un fichier.
reste à savoir si c'est faisable en VBA...


 
Je sens que je vais encore galéré ... vivement que je puisse développer avec des outils sérieux ...  :sarcastic:

Reply

Marsh Posté le 01-07-2004 à 09:44:19    

L'API GetForegroundWindow() permet de récupérer le handle de la fenêtre en avant plan  
 
L'API GetDesktopWindow() récupère le handle du bureau  
 
Du code source de capture d'écran en VB existe sur VBFrance.com, comme http://www.vbfrance.com/code.aspx?ID=17837
 
Mais je ne l'ai pas testé  
 
 


Message édité par tegu le 01-07-2004 à 09:53:55
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed