Capture catia depuis excel

Résolu
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 31 oct. 2007 à 13:42
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 5 nov. 2007 à 13:32
Bonjour, Je m'adresse au connaisseur CATIA.

Je souhaite faire une capture d'écran de catia en vba (Jusque la pas de probleme, une source est dispo sur vbfrance)
Or je souhaite la faire depuis Excel quand je clic sur un bouton par exemple!

Le code suivant génert bien la capture or elle est illisible...  Pk?   Que puis-je faire?

'============
Sub SnapCatia()


Set CATIA = CreateObject("CATIA.Application")
Set MyViewer = CATIA.ActiveWindow.ActiveViewer


'-----Capture d'image
    MyViewer.CaptureToFile catCaptureFormatJPEG, "C:\PrintScreen.jpg"


End Sub
'===========

3dflix

2 réponses

zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
31 oct. 2007 à 18:02
J'ai un ou deux truc sur mon site qui pourraient t'interresser.

ce que je te conseille de faire depuis VBA:

Chercher la fenêtre catia avec findwindow (user3.dll)

La mettre au premier plan avec bringwindowontop (user32.dll)

puis faire la cupture d'écran.

deuxième solution

Chercher la fenêtre catia avec findwindow (user3.dll)

chercher le contexte de périphérique de catia puis d'excel avec getwindowdc (user32.dll)

et de transférer le contenu graphique de catia vers excel avec blitblt (gdi32.dll)


voilà, si tu galère, envoi moi un msge je verrais avec un pote qui a eu le même problème y'a quelques temps

--------------------------------------------------
Toujours + de VB et d'API => APi @ le Loupe
3
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013
5 nov. 2007 à 13:32
SUPER !

J'ai utilisé BringWindowToTop avec l'api user32.dll conbiné avec mon code qui appel la fonction CATIA de capture d'ecran et ca marche!

Autrement dit je met catia en premier plan avec BringWindowToTop puis je capture.

Merci pour l'astuce Zavier666

3dflix
0
Rejoignez-nous