Macro pour suprimer la feuille2

Bonjour,

 

Je souhaite à l'aide d'une macro pouvoir suprimer la feuille2 (si elle existe) dans une mise en plan. (sw2014)

J'ai tout d'abord essayé l'enregistrment d'une macro mais cela ne fonctionne pas, puis j'ai trouvé plein de piste sur internet mais aucune ne fonctionne pour l'instant.

 

Voici un exemple (non fonctionel) sur 3D content central:

 

' Example macro with descriptions of how to add and delete Drawing Sheets. By Matthew Lorono, Copyright 2007 (fcsuper@aol.com)
' As an example, this code does not provide a usual function by itself.  By using this code in any way whatsoever, the user and
' any entities which the user represents agree to hold the original author free of all liability.
' Free distribution and use of this code in other free works are welcome.  If any portion of this code is used in other works, credit to
' the original author must be placed in that work in a user viewable location.  All other forms of distribution (i.e., not free) are
' prohibited without the expressed written consent by the original author.
' Distributed by: http://sw.fcsuper.com

Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

'Add Sheet
boolstatus = Part.NewSheet3("Bean", swDwgPaperCsize, swDwgTemplateCsize, 1, 1, False, 0, 0, 0, 0)

'Clear boolstatus for next operation (delete operation may not properly work while boolstatus = True)
boolstatus = False

'User input (so user can see what happened; not essential to the function of this macro)
MsgBox ("What's up?")

'Select Sheet
boolstatus = Part.Extension.SelectByID2("Bean", "SHEET", 0, 0, 0, False, 0, Nothing, 0)

'Delete Sheet
Part.EditDelete

End Sub

 

Si vous avez une idée d'avance merci.

Bonjour,

Si vous avez accès aux outils MyCADTools, INTEGRATION permet de faire cette opération (il me semble).

Si non , attendez @.PL !

1 « J'aime »

Pas trouvé dans intégration il permet de suprimer un calque mais pas une feuille justement.

Le but est justement de lancer cette macro dans intégration.

1 « J'aime »

Alors au temps pour moi, je pensais que c'était une des actions possibles. Désolé.

Tu peux faire comme ça :

 

 

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDrawing = swModel

swDrawing.ActivateSheet ("Feuille 2")

Set swSheet = swDrawing.GetCurrentSheet

 

swmodel.EditDelete

 

1 « J'aime »

Bonjour,

Il faut probablement remplacer "SHEET" par "Feuille" ou plus probablement "Feuille2".

La macro originale fonctionnera si SolidWorks est en anglais...

Pour info la 1ère macro ajoutait bien la feuille mais n'arrive pas à la suprimer.

Pour la macro de g.doyen idem

SW affiche une info bulle avec aucune de ces entités ne peux être supprimée.

Sinon j'ai aussi tenté dans les macros en anglais de remplacer par Feuille ou Feuille2, en vain.

Donc il faut ajouter la feuille ou la supprimer ? Ou simplement supprimer la feuille 2 uniquement si elle existe ?

Supprimé la Feuille2 si elle existe.

1 « J'aime »

Ok, donc la macro en pièce jointe fonctionne ?


feuille2.txt

Malheureusement non, erreur de compilation.

Voici l'imprime écran:

Comme l'image n'est pas super

Il bug sur cette ligne

Set swSheet = swDrawing.GetCurrentSheet

et plus particulièrement sur swDrawing (variable non défini)

Fait à la va vite et pas testé, ça doit être swdraw à la place.
1 « J'aime »

essaye de remplacer par SwDraw ;)

 

Au passage, ta 2eme feuille s'appellera forcement "feuille2" ?

Pour l'erreur c'est bien ça.

La Feuille2 s'active mais la fenêtre avec Aucune de ces entités ne peut être supprimé apparaît encore... GRRR...

 

Sinon dans notre façon de faire oui la Feuille1 c'est toujour le plan de laser et la Feuille2 le plan de pliage.

J'ai eu le temps de tester ça ce soir et maintenant ça marche !

J'ai mis la macro en tutoriel sur Lynkoa, on peut le trouver ici :

http://www.lynkoa.com/tutos/macro-solidworks-supprimer-une-feuille-d-une-mise-en-plan-0

 

PS : merci de choisir cette réponse comme la meilleure !

1 « J'aime »

Désolé pour la réponse un peu tardive. Mais Gros problème de réseau ce matin.

J'ai testé la dernière macro et cela fonctionne très bien.

Par contre le format pdf cass completement la mise en page lors d'un copier coller.

Mais rien de grave.

Merci beaucoup à tout ceux qui ont apportés leur aide et en particulier à .PL, qui à bien mérité la meilleure réponse!

1 « J'aime »
Merci. Pour ton dernier problème, je n'ai pas compris, tu peux ouvrir une nouvelle question si tu veux.