Schakel de optie PROMOTEN via macro in

Om in te gaan op de vraag: http://www.lynkoa.com/forum/3d/famille-de-piece-promouvoir

Ik beheers MACRO's niet, iemand zou me een macro kunnen maken om de optie Promoten in alle configuraties van een kamer te activeren.

Bij voorbaat dank.


2015-02-06-famille_de_piece_-_promouvoir.jpg

Hallo

Het herlezen van de twee stukjes code die ik in de vorige vraag heb gepost, het is makkelijker dan ik dacht, maar ik had geen tijd om te testen.

Om in een nieuwe macro in SolidWorks te worden geplaatst vanuit het menu " Macro > New Tools > Tools ".

'Edit: code opschonen en opmerkingen

Optie Expliciete
Sub hoofd()
    Dim swApp                   als SldWorks.SldWorks
    Dim swModel                 als SldWorks.ModelDoc2
    Dim vConfNameArr            als variant
    Dim sConfigName             als tekenreeks
    Zon i                       Zo lang

   
    Stel swApp = CreateObject("SldWorks.Application") in
        SolidWorks maakt het mogelijk in VBA
    Stel swModel = swApp.ActiveDoc in
       'Haalt het actieve document op
    vConfNameArr = swModel.GetConfigurationNames
       'Haalt alle configuraties in een array op
    Voor i = 0 Naar UBound(vConfNameArr)
       Loop over alle configuraties
        sConfigName = vConfNameArr(i)
       sConfigName.ChildComponentDisplayInBOM = swChildComponentInBOMOption_e.swChildComponent_Promote
       'Activeert de promotiefunctie op elk van de configuraties
    volgende i
Einde Sub

 

2 likes

A priori is er een fout (zie bijgevoegd bestand)


2015-02-06-macro_-_promouvoir.jpg

Er kunnen geen 2 handen in hetzelfde programma zitten en er was een autocorrectiefout met apostrofs.

 

De code zou moeten zijn zoals op de PDF van deze tutorial die ik zojuist online heb gezet:

http://www.lynkoa.com/tutos/solidworks/macro-pour-toutes-les-configurations-d-un-assemblage-pour-activer-l-option-%E2%80%9Cpromouv

 

En ik heb de bovenstaande code bijgewerkt, het zou moeten werken.

 

Ik heb de gecorrigeerde macro uitgevoerd, maar ik krijg een nieuwe foutmelding

(zie bijlage).

 


2015-02-09-erreur_macro_promouvoir.png

Ik probeer vanavond de macro te testen.

Ik heb een collega die macro's kent, dit is wat hij schreef.

Na een test of twee lijkt het te werken.

 

Optie Expliciete
Sub hoofd()
    Dim swApp                   als SldWorks.SldWorks
    Dim swModel                 als SldWorks.ModelDoc2
    Dim swConfig                als SldWorks.Configuration
    Dim vConfNameArr            als variant
    Dim sConfigName             als tekenreeks
    Zon i                       Zo lang

  
    Stel swApp = Toepassing.SldWorks in
        SolidWorks maakt het mogelijk in VBA
    Stel swModel = swApp.ActiveDoc in
       'Haalt het actieve document op
    vConfNameArr = swModel.GetConfigurationNames
       'Haalt alle configuraties in een array op
    Voor i = 0 Naar UBound(vConfNameArr)
       Loop over alle configuraties
        Set swConfig = swModel.GetConfigurationByName(vConfNameArr(i))
        'sConfigName = vConfNameArr(i)
        swConfig.ChildComponentDisplayInBOM = swChildComponentInBOMOption_e.swChildComponent_Promote
       'Activeert de promotiefunctie op elk van de configuraties
      
    volgende i
Einde Sub


ficap_macro_promouvoir.swp

De macro-bijlage werkt.


ficap_macro_promouvoir.swp