Traverse Assembly at Component→Merge duplicate Component

Sub Main1()

    Dim swApp                       As SldWorks.SldWorks
    Dim swModel                     As SldWorks.ModelDoc2
    Dim swAssy                      As SldWorks.AssemblyDoc
    Dim swConf                      As SldWorks.Configuration
    Dim swRootComp                  As SldWorks.Component2
    Dim bRet                        As Boolean
    Dim ii, nn
   
    Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.ActiveDoc
    Set swConf = swModel.GetActiveConfiguration
    Set swRootComp = swConf.GetRootComponent
    Dim vChildComp
    ''
    Dim SwArr()
    ''
    vChildComp = swRootComp.GetChildren
    nn = UBound(vChildComp)
    ReDim SwArr(nn)
    For ii = 0 To nn
        Set SwArr(ii) = vChildComp(ii).GetModelDoc
        Debug.Print "Set SwArr(" & ii & ") → Object →" & SwArr(ii).GetTitle
    Next ii

End Sub

********************

Run code result is

Set SwArr(0) → Object →Rib.SLDPRT

Set SwArr(1) → Object →Rib.SLDPRT

Set SwArr(2) → Object →Web.sldprt

Set SwArr(3) → Object →Pad.sldprt

Set SwArr(4) → Object →BasePlate-S.SLDPRT

********************

My demand is Merge duplicate Component

Tow Compoent (Rib.SldPrt) --- one Component(Rib.SldPrt)

Set SwArr(0) → Object →Rib.SLDPRT

Set SwArr(1) → Object →Web.sldprt

Set SwArr(2) → Object →Pad.sldprt

Set SwArr(3) → Object →BasePlate-S.SLDPRT

SolidworksApi macros