This is the code to get the information (JavaScript Object) of selected layers in Layer panel. id and index are there, so you may be able to refer to the ExtendScript Layer from it.
/**
* @Version 1.0.0
* @author sttk3.com
*/
/**
* Get the ActionDescriptor of the selected layer of activeDocument
* @Return {Array<any>} [
* {name: string, index: number, id: number, desc: ActionDescriptor}...
* ]
*/
function getSelectedLayerDesc() {
var res = [] ;
var ref1 = new ActionReference() ;
var idTargetLayers = stringIDToTypeID('targetLayers') ;
ref1.putProperty(stringIDToTypeID('property'), idTargetLayers) ;
ref1.putEnumerated(stringIDToTypeID('document'), stringIDToTypeID('ordinal'), stringIDToTypeID('targetEnum')) ;
var targetLayers = executeActionGet(ref1).getList(idTargetLayers) ;
// if there is a background layer, add 1 to index
var backgroundFactor = 0 ;
try {
activeDocument.backgroundLayer ;
} catch(e) {
backgroundFactor = 1 ;
}
var ref2, tempIndex, desc, layerItem ;
for(var i = 0, len = targetLayers.count ; i < len ; i++) {
ref2 = new ActionReference() ;
tempIndex = targetLayers.getReference(i).getIndex() + backgroundFactor ;
ref2.putIndex(stringIDToTypeID('layer'), tempIndex) ;
desc = executeActionGet(ref2) ;
layerItem = {
name: desc.getString(stringIDToTypeID('name')),
index: tempIndex,
id: desc.getInteger(stringIDToTypeID('layerID')),
desc: desc
} ;
res.push(layerItem) ;
}
return res ;
}
... View more