If I have multiple bodies, Is there any macro to select biggest body only?
Probably not, since that would be easy to create yourself when you traverse the bodies.
You can use the IMassProperty interface to get the volume of the bodies. Here's an example:
2015 SOLIDWORKS API Help - Get Mass Properties of Multibody Assembly Component Example (VBA)
The most relevant lines are these:
bRet = swDocExt.SelectByID2("multi_inter-1@Assem1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Set swMass = swDocExt.CreateMassProperty
Set swComp = swSelMgr.GetSelectedObjectsComponent4(1, -1)
vBodyArr = swComp.GetBodies3(swSolidBody, vBodyInfo)
bRet = swMass.AddBodies((vBodyArr))
Debug.Print "Volume = " & swMass.Volume
Retrieving data ...