Hi Kevin,
To save you reinventing the wheel, have a look at
http://code.google.com/p/sourcefourjs/wiki/auitree and the download
http://code.google.com/p/sourcefourjs/downloads/detail?name=auitree_1_0.zip One of the folder tabs has an example of copying the entire array to clipboard taking into account things like column sort-order, hidden and moved columns. I think the only thing it couldn't cater for was the use of TABINDEX. I first wrote a similar routine in about 2004 as in my previous job we figured Copy Visible Table was impractical and users would want to copy the entire array, not just what they could see on screen. Using the pre-processor, it was able to be implemented such that it was automatically available on every array.
Reuben