CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -38%
Enceinte colonne – Focal Chorus 726 – Noir ...
Voir le deal
245 €

Fenetre active

2 participants

Aller en bas

R?solu Fenetre active

Message par raphael_59240 Jeu 7 Juil 2016 - 13:34

Bonjour,


j ai créé un icone lié à une macro qui déverrouille/verrouille une vue dans les plans.(histoire de gagner du temps, sinon clic droit proprieté...)
La macro fonction si et seulement si je n ai qu'un seul Catia d'ouvert. Si par malheur j'ouvre une nouvelle fenêtre Catia et même si celle sur laquelle
je veux travaillé est active. bing, erreur incompatibilité de type.

donc si quelqu'un a une idée, merci d'avance.
Voici le code :
Code:
Sub CATMain()
Dim Catia As Object
Dim drawingDocument1 As DrawingDocument
Dim drawingSheets1 As DrawingSheets
Dim drawingSheet1 As DrawingSheet
Dim drawingViews1 As DrawingViews
Dim Sheetdraw As String, Sheetview As String


'---- initialisation catia"

On Error Resume Next

Set Catia = GetObject(, "CATIA.Application")


If Err.Number <> 0 Then
    MsgBox ("pas de session catia trouvée")
Else
    On Error GoTo 0
    
    
    Set drawingDocument1 = Catia.ActiveDocument
    Set drawingSheets1 = drawingDocument1.Sheets
    
    Sheetdraw = drawingSheets1.ActiveSheet.Name
    Set drawingSheet1 = drawingSheets1.Item(Sheetdraw)

    Set drawingViews1 = drawingSheet1.Views

    Sheetview = drawingViews1.ActiveView.Name

    If Sheetview = "Main View" Then
        MsgBox "activer la vue à deverouiller"
    Else

       Set drawingView1 = drawingViews1.Item(Sheetview)
       If drawingView1.LockStatus = False Then
           drawingView1.LockStatus = True
       Else: drawingView1.LockStatus = False
       End If
    End If

End If

End Sub


Raphael


Dernière édition par raphael_59240 le Mar 12 Juil 2016 - 8:18, édité 1 fois
raphael_59240
raphael_59240
actif
actif

Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque

Revenir en haut Aller en bas

R?solu Re: Fenetre active

Message par lumpazepfel Lun 11 Juil 2016 - 17:02

Salut Raphaël,

J'ai modifié la partie "initialisation CATIA" de ton code et chez moi ça fonctionne.
Je pense qu'il n'est pas utile de déclarer l'application CATIA.
(lignes modifiées identifiées avec '***)
Code:
Sub CATMain()
'Dim Catia As Object ***
Dim drawingDocument1 As DrawingDocument
Dim drawingSheets1 As DrawingSheets
Dim drawingSheet1 As DrawingSheet
Dim drawingViews1 As DrawingViews
Dim Sheetdraw As String, Sheetview As String


'---- initialisation catia"
'***
On Error Resume Next
Set drawingDocument1 = Catia.ActiveDocument

'Set Catia = GetObject(, "CATIA.Application")***


If Err.Number <> 0 Then
    MsgBox ("pas de session catia trouvée")
    Exit Sub
ElseIf (InStr(drawingDocument1.Name, ".CATDrawing")) = 0 Then
    MsgBox ("La fenêtre active doit être un CATDrawing")
    Exit Sub
End If
Err.Clear
On Error GoTo 0
'***
 
    Set drawingSheets1 = drawingDocument1.Sheets
   
    Sheetdraw = drawingSheets1.ActiveSheet.Name
    Set drawingSheet1 = drawingSheets1.Item(Sheetdraw)

    Set drawingViews1 = drawingSheet1.Views

    Sheetview = drawingViews1.ActiveView.Name

    If Sheetview = "Main View" Then
        MsgBox "activer la vue à deverouiller"
    Else

      Set drawingView1 = drawingViews1.Item(Sheetview)
      If drawingView1.LockStatus = False Then
          drawingView1.LockStatus = True
      Else: drawingView1.LockStatus = False
      End If
    End If

'End If***

End Sub
lumpazepfel
lumpazepfel
Fédérateur
Fédérateur

Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

R?solu Re: Fenetre active

Message par raphael_59240 Mar 12 Juil 2016 - 8:18

bounce bounce cheers


merci beaucoup, c est bien pratique et plus rapide
raphael_59240
raphael_59240
actif
actif

Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque

Revenir en haut Aller en bas

R?solu Re: Fenetre active

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum