Création macro ouverture fichier solidworks depuis excel

Bonjour,

je vous explique ci dessous ce que je cherche à faire j'espère que je serai clair .... pour info je ne connais rien en VB 

je veux automatiser la création de mes DXF

A partir du fichier excel ci joint, 

variables : si valeur colonne X=" Nouveau" et valeur colonne Y=" Fabriquée" ou " Pièce/Opé Panoplie" alors ouvrir les 3d des pièces correspondantes (chemin d'accès = valeur celulle X6 & valeur colonne L & .sldprt) et les enregistrer au format ".DXF" à l'adresse suivante "\\10.3.0.145\common\DAO\Iges-fao" sous le nom correspondant en colonne M du tableau excel

et boucler cela sur toutes les lignes ou les variables X=" Nouveau" et valeur colonne Y=" Fabriquée" ou " Pièce/Opé Panoplie" seront trouvées

merci de votre aide 

si quelqu'un pouvait arriver à me faire cela, cela m'aiderai beaucoup et si possible en même temps m'expliquer les lignes de la macro encore mieux....

j'espère avoir été clair 

Merci de votre aide

 

 


template_bom_v2.xlsm

Voici le code pour ouvrir une pièce ou MEP depuis SW:

Sub EssaiSW()

 Dim swApp As SldWorks.SldWorks
    Dim swModelUn As SldWorks.ModelDoc2
    Dim swModelDeux As SldWorks.ModelDoc2

    If swApp Is Nothing Then
        Set swApp = CreateObject("SLDWORKS.application")
        swApp.Visible = True
    Else
        Set swApp = Application.SldWorks
    End If

    Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.sldprt")
    Set swModelUn = swApp.OpenDoc7(swDocSpecification)
    MsgBox swModelUn.GetTitle
    
    Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.slddrw")
    Set swModelUn = swApp.OpenDoc7(swDocSpecification)
    MsgBox swModelUn.GetTitle
    
    swApp.CloseDoc swModelUn.GetTitle
    
    Set swModelUn = swApp.ActiveDoc
    MsgBox swModelUn.GetTitle
    
    Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce6.sldprt")
    Set swModelDeux = swApp.OpenDoc7(swDocSpecification)
    
    swApp.CloseDoc swModelUn.GetTitle

    MsgBox swModelDeux.GetTitle
    
    swApp.CloseDoc swModelDeux.GetTitle
    
    
End Sub

Il faut aussi ajouter la réf suivante à ta macro Excel:

Par contre si tu ne connais rien en vba tu ferais mieux dans un onglet supplémentaire de récupérer ta liste de fichier à traiter avec des formules Excel .Il faut récupérer le chemin complet.

(si valeur colonne X=" Nouveau" et valeur colonne Y=" Fabriquée" ou " Pièce/Opé Panoplie" alors ouvrir les 3d des pièces correspondantes (chemin d'accès = valeur celulle X6 & valeur colonne L & .sldprt) et les enregistrer au format ".DXF" à l'adresse suivante "\\10.3.0.145\common\DAO\Iges-fao" sous le nom correspondant en colonne M du tableau excel...)

Et ensuite tu exporte cette liste en csv et tu te créer une règle dans Intégration (Gratuit pour les clients Mycadservice) pour exporter en lot tout les fichier de ta liste csv:

https://help.visiativ.com/mycadtools/2020/fr/Integration.html

Ce moyen via Intégration reste bien plus simple si tu n'a pas de connaissance en VBA.

Il te suffit de faire un tri automatisé via formule Excel puis exporter en csv.

Importer ta liste csv dans Intégration lui appliquer ta règle (export de ta pièce en dwg ou dxf)

Alors que pour le VBA il te reste à traiter le bouclage avec les conditions, l'export dxf et à implémenter tout cela dans Excel, sans connaissance cela risque d'être très compliqué.

1 « J'aime »