Snapshot catia to word

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 046 fois - Téléchargée 20 fois

Contenu du snippet

Ce code est une macro pour CATIA qui crée une impression d'écran uniquement de la pièce ou du produit affiché, sans l'arbre, ni la boussole, et sur fond blanc.
Ensuite, l'image est envoyée sur le fichier Word préalablement ouvert.

Rajoutez un bouton dans CATIA pour lancer cette macro. Vous verrez, c'est très pratique!

Source / Exemple :


Sub CATMain()
'****************************************************************************************************
'Pour permettre l'utilisation de cette Macro, activez la librairie word dans l'éditeur VB de Catia
'Outils->Reference->Microsoft Word 11.0 Object Librairy
'il faut aussi créer le raccourci clavier pour afficher la boussole avec F8
'Crée par : Wanours (Version 2, mise à jour du 5 avril 2007)
'****************************************************************************************************

On Error GoTo OupsGOublieWord

Call ShowHideTreeAndCompass

Dim MyViewer As Viewer
Set MyViewer = CATIA.ActiveWindow.ActiveViewer
Dim ADR As String

ADR = "C:\PrintScreen.bmp"

'-----Memorise le BackGround d'origine
    Dim color(2)
    Dim MyViewer_deb
    Set MyViewer_deb = MyViewer
    MyViewer_deb.GetBackgroundColor color

'-----Passe en fond blanc
    MyViewer_deb.PutBackgroundColor Array(1, 1, 1)

'-----Capture d'image
    MyViewer.CaptureToFile catCaptureFormatBMP, ADR

'-----Retour au fond d'écran d'origine
    MyViewer_deb.PutBackgroundColor (color) 

'-----On réaffiche Boussole et Arbre
    Call ShowHideTreeAndCompass 

'-----Insertion dans word
    Selection.InlineShapes.AddPicture FileName:=ADR, LinkToFile:=False, SaveWithDocument:=True
    Kill (ADR) 'Efface le fichier temporaire

Exit Sub

'-----Action en cas d'abscence de fichier Word préalablement ouvert
OupsGOublieWord:
A = MsgBox("Vous devez ouvrir un fichier word avant de lancer la macro!", 16, "Aucun fichier word Ouvert")
Kill (ADR)
End Sub

'-----Sub pour cacher/afficher la boussole et l'arbre de spécification------
Sub ShowHideTreeAndCompass()
'Cache la boussole (raccourci à configurer!)
SendKeys "{F8}"
Call Pause(0.1)
'cache l'arbre
SendKeys "{F3}"
Call Pause(0.1)
End Sub

'------Sub de temporisation générique----------------------------------------
Sub Pause(Temps As Long)

Dim Start As Long
Dim Check As Long
Dim Tempslim As Long

Start = Timer
Tempslim = Timer + Temps

Do Until Check >= Tempslim
   Check = Timer
   DoEvents
Loop

End Sub

Conclusion :


Cette mise à jour offre de nouvelles fonctionnalités.

-> Elle fonctionne avec n'importe quelle couleur du fond d'écran d'origine

-> Elle ne bug plus quand un fichier word n'est pas déjà lancé à l'avance. (un message apparaît simplement pour dire à l'utilisateur que ça ne marche qu'avec un

A voir également

Ajouter un commentaire

Commentaires

totham
Messages postés
1
Date d'inscription
mardi 13 mars 2012
Statut
Membre
Dernière intervention
14 mars 2012
-
bonjour,

je suis un peu perdu là, on met quoi alors dans powerpoint comme macro,
merci de votre réponse
nikos69003
Messages postés
8
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
5 décembre 2008
-
Ca marche.
En fait, il fallait rajouter la référence Microsoft Office 10.0 Object Librairy.
La référence Microsoft PowerPoint 10.0 Object Librairy ne sert à rien dans mon cas.
Par contre les images sont mal dimensionnées, mal centrées et elle se superpose les une sur les autres.
Quelqu'un a-t-il une solution?
nikos69003
Messages postés
8
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
5 décembre 2008
-
Le code est quelque poste au-dessus.
cs_Wanours
Messages postés
11
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
22 juillet 2009
-
Tu pourrais copier coller ton code, et surtout, me dire exactement sur quel ligne le programme passe en erreur?
(je pense pas que ça viennent de la version de powerpoint)
nikos69003
Messages postés
8
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
5 décembre 2008
-
Bon je confirme, l'image est bien créée correctement dans le répertoire temporaire, mais c'est à l'insertion dans ppt que ça foire.
Quelqu'un a-t-il une solution?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.