For years I have been using a recursive custom function to get a list of all the Selected Tab Panels on a layout. This works quite well, but in my current project I wanted to get rid of all custom functions. I didn’t really want to use a looping script. I wanted a pure calculation that could do it. This is what I came up with.
---------------------------------------------
Evaluate("List(¶" &
Let(
[
left = "Let(
;Case(GetLayoutObjectAttribute ( tab ; "isFrontTabPanel" ) ; tab;""));";
tabs = Substitute(
LayoutObjectNames ( Get( FileName ); Get( LayoutName ) );
["<¶";""];
[">¶";""];
[">";""]
)
];
left &
Substitute(
tabs;
"¶"; right & "¶" & left
) &
right
)
&"¶)"
)
---------------------------------------------
This seems to work pretty well.
Apologies, the download file has gone missing.