VBA/Autocad Erreur procédure Property
Alissois
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
borntobealive Messages postés 138 Date d'inscription Statut Membre Dernière intervention -
borntobealive Messages postés 138 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je cherche à réaliser une macro VBA permettant d'extraire des éléments d'un dessin Autocad.
Au moment où j'essaie d'extraire les caractéristiques géométriques d'un bloc dynamique, le message d'erreur suivant apparaît :
"La procédure Property Let n'est pas définie et la procédure Property Get n'a pas retourné d'objet"
à la ligne : Cells(xN, 4) = Bloc.InsertionPoint(0) (et la suivante d'ailleurs)
Je les ai mises en gras dans le code.
En fait, c'est comme si j'avais mal défini mon objet "point d'insertion".
Voici mon code :
Merci d'avance !
Je cherche à réaliser une macro VBA permettant d'extraire des éléments d'un dessin Autocad.
Au moment où j'essaie d'extraire les caractéristiques géométriques d'un bloc dynamique, le message d'erreur suivant apparaît :
"La procédure Property Let n'est pas définie et la procédure Property Get n'a pas retourné d'objet"
à la ligne : Cells(xN, 4) = Bloc.InsertionPoint(0) (et la suivante d'ailleurs)
Je les ai mises en gras dans le code.
En fait, c'est comme si j'avais mal défini mon objet "point d'insertion".
Voici mon code :
Sub essai()
'Bloque le calcul automatique et l'affichage Excel
Application.ScreenUpdating = False
Application.Calculation = xlManual
'Déverrouille la page
'ActiveSheet.Protect
'Affiche les feuilles masquées
'Call Show_Sheets
'Nécessite la référence Autocad xxx Type Library (Menu Outils > Références)
Dim AcadApp As AcadApplication, AcadPlan As AcadDocument
'Création de l'objet AutoCAD dans Excel :
Set AcadApp = AcadApplication
'Si ACAD n'est pas ouvert, il faut créer une nouvelle application comme ci dessous :
'Set AcadApp = New AcadApplication
'Rend AutoCAD visible
AcadApp.Visible = True
'utilise le document ouvert :
Set AcadPlan = AcadApp.ActiveDocument
Dim Bloc As Variant
Dim varAttributes As Variant
Dim varDyn As Variant
Dim elements As Variant
Dim acadobj As Variant
Dim Calque As Variant
Dim varDyn1 As Variant
'Dim xN As Integer
Dim xF As Integer
xF = 31
'Suppression des données existantes
Sheets("ESSAI").Select
Range("A2:I100").Select
Selection.ClearContents
Cells(10, 11).Select
Selection.ClearContents
Range("M2:M100").Select
Selection.ClearContents
Cells(4, 11) = AcadPlan.GetVariable("InsUnits")
'Analyser tous les éléments du fichier Autocad
Set elements = AcadPlan.ModelSpace
For Each acadobj In elements
Set Calque = AcadPlan.Layers(acadobj.Layer)
'Supprime du jeu les objet dans des calques gelés
If Calque.Freeze = False Then
If acadobj.ObjectName = "AcDbBlockReference" Then
Set Bloc = acadobj
If Bloc.EffectiveName = "NIVEAU" Then
varAttributes = Bloc.GetAttributes
varDyn = Bloc.GetDynamicBlockProperties
Cells(xN, 2) = Bloc.EffectiveName
Cells(xN, 3) = varAttributes(0).TextString
Cells(xN, 4) = Bloc.InsertionPoint(0)
Cells(xN, 5) = Bloc.InsertionPoint(1)
For Each varDyn1 In varDyn
If varDyn1.PropertyName = "Distance1" Then
Cells(xN, 6) = varDyn1.Value
Else
If varDyn1.PropertyName = "Distance2" Then
Cells(xN, 7) = varDyn1.Value
Else
If varDyn1.PropertyName = "Distance3" Then
Cells(xN, 8) = varDyn1.Value
Else
If varDyn1.PropertyName = "Distance4" Then
Cells(xN, 9) = varDyn1.Value
End If
End If
End If
End If
Next
End If
End If
End If
Next
'Libérer la mémoire des objets ouverts
Set Bloc = Nothing
Set elements = Nothing
Set AcadApp = Nothing
Set AcadPlan = Nothing
Set acadobj = Nothing
Set LigneRep = Nothing
Set Calque = Nothing
GoTo FIN3
ERROR3:
MsgBox "Aucun fichier autocad ne semble ouvert."
GoTo FIN3
FIN3:
'Réactive le calcul automatique, l'affichage Excel et retour sur la page initiale
'Sheets("DEBUT").Select
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
'Masque les feuilles
'Call Hide_Sheets
'Reverrouille la page
ActiveSheet.Unprotect
End Sub
Merci d'avance !
A voir également:
- VBA/Autocad Erreur procédure Property
- Ancienne version autocad gratuite - Télécharger - CAO-DAO
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux