23 Replies Latest reply on Mar 22, 2016 1:32 AM by Deepak Gupta

    Macro to open all SolidWorks files in a location and delete configuration custom properties

    Scott Ashton



      I would like to modify the macro I already have for deleting out configuration properties - I currently have to have the file open and and run the macro. Would it be possible to modify the macro so that whatever folder the macro is in, it would open any parts or assemblies, delete out configuration properties, rebuild, save and close?


      My plan is to use this macro with the task scheduler to process multiple files at an off peak time. My current macro is below:-


      Dim swApp As SldWorks.SldWorks

      Dim swModel As SldWorks.ModelDoc2

      Dim swCustPropMgr As SldWorks.CustomPropertyManager


      Sub main()


          Set swApp = Application.SldWorks


          Set swModel = swApp.ActiveDoc


          Dim vConfs As Variant

          Dim i As Integer


          'ClearCustPrps ("")


          vConfs = swModel.GetConfigurationNames



          For i = 0 To UBound(vConfs)

              Debug.Print "Main: " & vConfs(i)

              If vConfs(i) <> "Custom" Then ClearCustPrps (vConfs(i))




      End Sub


      Sub ClearCustPrps(conf As String)


          Dim j As Integer


          Set swCustPropMgr = swModel.Extension.CustomPropertyManager(conf)


          If Not swCustPropMgr Is Nothing Then


              swCustPropMgr.GetAll vPropNames, Empty, Empty


              If Not IsEmpty(vPropNames) Then

                  For j = 0 To UBound(vPropNames)

                      Debug.Print "ClearCustPrps: " & vPropNames(j)

                      swCustPropMgr.Delete vPropNames(j)


              End If


          End If



        swModel.ShowNamedView2 "*Isometric", -1


        swModel.ForceRebuild3 False


        swModel.Save2 Silent

        MsgBox "The Configuration Properties Have Been Successfully Deleted, The Model Has Been Rebuilt and Saved"


      End Sub



      Thanks in advance.