The following macro deletes all the properties from the active configuration. The macro is written used late-binding so it is version independant.
The deletion action will be confirmed by the user.
' Delete all properties from the active configuration ' Conditions = None ' Results = all properties in the active configuration are deleted ' www.cadhero.com Dim swApp As Object Dim swModel As Object Dim CustomPropertyManager As Object Public Enum swDocumentTypes_e swDocDRAWING = 3 End Enum Sub Main() 'get pointer to the solidworks application Set swApp = Application.SldWorks 'get active document Set swModel = swApp.ActiveDoc If swModel Is Nothing Then swApp.SendMsgToUser "There is no active document" End End If If swModel.GetType = swDocumentTypes_e.swDocDRAWING Then swApp.SendMsgToUser "Drawings do not have configurations" End End If 'get the active configuration name Dim activeConfigurationName As String activeConfigurationName = swModel.GetActiveConfiguration.Name Set CustomPropertyManager = swModel.Extension.CustomPropertyManager(activeConfigurationName) 'get property names Dim propertyNames As Variant propertyNames = CustomPropertyManager.GetNames 'define dialog answer Dim answer As Long 'exit sub if there are no properties If IsEmpty(propertyNames) Then swApp.SendMsgToUser "Configuration " & activeConfigurationName & " has no properties to delete!" Exit Sub Else answer = MsgBox("You are about to delete all properties from the configuration " & ActiveConfiguration & ". Are you sure you want to proceed?", vbYesNo + vbQuestion) If answer = vbNo Then Exit Sub End If End If 'delete properties For i = 0 To UBound(propertyNames) CustomPropertyManager.Delete2 propertyNames(i) Next i End Sub
Problems running the macro? Report a bug here.