Fermer chaque fichiers ouverts lors d'une macro

Bonjour,

J'ai téléchargé une macro pour exporter tous un dossier de plans, de pièces et d'assemblages mais elle ne ferme pas les fichiers après exportation.

Merci pour votre aide.

 

Voici la macro


convertir_ficher_sw.swp

Bonjour,

As-tu myCADtools par hasard?

Bonjour,

J'ai téléchargé ta macro et fais un test avec des slddrw et des sldprt, tout c'est bien passé y compris la fermeture de chaque fichier. Le problème est-il permanent ou seulement sur certains fichiers ?

Cordialement,

Bonjour Messieurs,

Malheureusement je n'ai pas mycadtools.

Voici ma dernière macro modifiée avec les bonnes propriétés pour la finalités des noms de fichiers.

Par contre, je vous joints quelques fichiers sous SW2017 car je n'arrive toujrs pas à fermer les fichiers automatiquement. (Mises en plans ou pièces)

Encore merci pour votre aide.

Cordialement


import_3d.zip

Bonjour,

Je viens de jetter un oeuil à votre macro.

Remplacez :

Set Part = Nothing
swApp.CloseDoc ListAComvertir(i, 3) & ".sldprt"

Par :

swApp.CloseDoc Part.GetPathName

Set Part=Nothing

PS: parfois, passer par une classe évite bien des problèmes :)

3 « J'aime »

Bonjour Yves.T,

Merci pour tes conseils, ça referme bien le fichier.

Par contre, quand je relance la macro sur les mêmes fichiers j'ai une intérogation à chaque fichier pour ecraser le fichiers d'export existant et pour enregistrer le fichier ouvert.

Autre petit problème, est-il possible de valider le message sur l'échelle différentes par rapport à celle de la feuille.

En fait ma première macro marchait très bien, j'ai juste eu le soucis d'un dossier où il y avait trop de mise en plan. Dond j'arrivait à la limite du nombre de fichier ouverts dans solidworks.

Encore merci pour tes conseil.

Cordialement

Bonjour,

J'ai pris quelques minutes pour modifier une infime partie du code. Vous trouverez en pièces jointes votre macro modifiée.

Pour ce qui est du contrôle de l'existance du fichier de sortie, vous avez deux solutions qui reviennent au même.

Soit vous testez la valeur retour d'erreur de la fonction SaveAs, vous allez supprimer le fichier et l'enregistrer de nouveau

Soit vous allez vérifier dans le dossier avant d'enregistrer voir s'il y en a pas déjà un et vous l'effacez puis enregister.

Dans les deux cas, il vous faut utiliser les api filestream (fso) pour gérer les fichiers.


convertir_ficher_sw_-_09-10.rar
2 « J'aime »

Rebonjour Yves.T,

Merci pour vos modifications.

Après plusieurs essais, j'ai rencontré le même problème.

A prioris je n'ai plus le problème si je redémarre SW et si tous les fichiers sont convertis en 2017.

Pour l'instant, je vais me contanter de votre travail.

Merci pour tous.

Cordialement