curt Posté(e) le 24 février 2010 Posté(e) le 24 février 2010 Bonjour à tous, j'essai de supprimer une fenêtre de présentation dans l'espace papier en passant par VBA. Public Sub DetruireFenetre() Dim objFenetre As AcadViewport Set objFenetre = ThisDrawing.Viewports(0) ThisDrawing.ActiveViewport = objFenetre Set objFenetre = ThisDrawing.Viewports("Fenetre") objFenetre.Delete End Sub mais ça ne m'efface pas la fenêtre présente...Où est l'erreur ?Merci Curt
(gile) Posté(e) le 24 février 2010 Posté(e) le 24 février 2010 Salut, Je ne pratique pas le VBA, mais je connais un peu l'interface COM.Chaque présentation (Layout) est liée à un bloc (Block) qui contient les objets graphiques de la présentation dont les fenêtres (PViewport). La première fenêtre correspond à la fenêtre de l'espace papier de la présentation, les suivantes sont les fenêtres créées par l'utilisateur.supprimer le second Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
vinz34 Posté(e) le 25 février 2010 Posté(e) le 25 février 2010 Salut, Non patriquant en vba mais plutôt vla qui sont très proches, je pense pour avoir créé plus ou moins la même chose il y aquelques jours que tu doit péciser le nom de la présentation à supprimer.
(gile) Posté(e) le 25 février 2010 Posté(e) le 25 février 2010 Salut, le problème semble bien être une confusion entre présentation (Layout) et fenêtre de présentation (PViewport)... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
curt Posté(e) le 25 février 2010 Auteur Posté(e) le 25 février 2010 Bonjour à tous, je vais être le plus clair possible : J'ai un onglet Présentation contenant des FenêtresCe sont ces Fenêtres que je veux pouvoir supprimer en VBA. Supprimer les onglets Présentations fonctionne déjà. Merci à vous Curt
(gile) Posté(e) le 25 février 2010 Posté(e) le 25 février 2010 Salut, Donc c'est bien la réponse 1 qu'il faut voir.Le code suivant est certainement à corriger, je ne suis pas VBAiste du tout. Il devrait supprimer toutes les fenêtres de la présentation. Public Sub DetruireFenetre(ByVal objFenetre As AcadLayout) Dim objBlock As AcadBlock Dim obj as AcadObject Set objBlock = objFenetre.Block For Each obj in objBlock If obj.ObjectName = "AcDbViewport" Then obj.Delete EndIf Next End Sub Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant