I am looking for a way to identify what layers have a selection in the TOC. 
I know this can be done in .NET. I have yet to see anything in python. 
If anyone can help let me know!
Thank You, 
 - B
Hi Bob,It would be nice to have a short way of determining if a layer in the TOC has a selection (which is pretty straightforward with ArcObjects). I wrote a small piece of code and it seams to work as long as not all the features in a layer are selected:import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "")[0]
lyrs = arcpy.mapping.ListLayers(mxd, "", df)
for lyr in lyrs:
    if lyr.isFeatureLayer:
        # this is the number of (selected) features in layer in TOC (in DefQuery)
        countSel = int(arcpy.GetCount_management(lyr).getOutput(0))
        # when there is a defintionQuery test features in query against 'selected' feature
        lyr2 = lyr.dataSource
        if lyr.definitionQuery == '':
            countDefQ = int(arcpy.GetCount_management(lyr2).getOutput(0))
        else:
            field = "OID@"
            countDefQ =0
            for row in arcpy.da.SearchCursor(lyr2, (field),where_clause=lyr.definitionQuery):
                countDefQ+=1
        # now test the counts
        if countSel == countDefQ:
            print "Layer '{0}' has no selection OR all features are selected".format(lyr.name)
        else:
            print "Layer '{0}' has a selection.  CountSel={1}  en  CountDefQ={2}".format(lyr.name,countSel,countDefQ)I came across a much smaller snippet of Python code in an older post:import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "")[0]
lyrs = arcpy.mapping.ListLayers(mxd, "", df)
for lyr in lyrs:
    if lyr.isFeatureLayer:
        selectionCount2 = int(arcpy.GetCount_management(arcpy.Describe(lyr).catalogpath).getOutput(0)) - int(arcpy.GetCount_management(lyr).getOutput(0))
        if selectionCount2 == 0:
            print "Layer '{0}' has no selection OR all features are selected".format(lyr.name)
        else:
            print "Layer '{0}' has a selection.  Difference={1}".format(lyr.name,selectionCount2)The downside of this method is that it doesn't take the Definition Query into account. Maybe if both are mixed it can be done. I think this would be a nice feature to have in a next release...Kind regards,Xander Bakker