This is how I used to do it before JMP 8:
tableIsOpen = Function( {tname},
{dt, rv = 0},
Try(
dt = Data Table( tname );
rv = 1;
);
rv;
);
This does not work in JMP verison 8 because DataTable function will open a file dialog if the table is not opened already. User can always press "cancel" but it's annoying.
Thanks for any help.
Tommy
You can loop through all the open tables by passing a number to Data Table() and compare names.
tableIsOpen = Function( {tname},
{rv = 0, i},
For( i = 1, i < N Table() + 1 & rv == 0, i++,
If( Lowercase( Data Table( i ) << Get Name ) == Lowercase( tname ),
rv = 1
)
);
rv;
);
edit: with a "<=" option
tableIsOpen = Function( {tname},
{rv = 0, i},
For( i = 1, i <= N Table() & rv == 0, i++,
If( Lowercase( Data Table( i ) << Get Name ) == Lowercase( tname ),
rv = 1
)
);
rv;
);
(The forum software really doesn't like less than or equal, which is why I use plain less than and added 1.)