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([tab = "";
right = ""];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.

 

Leave a Reply