I recently published a startup script that allows you the set the width of tablecolumns numerically. Today I am happy to announce that version 2.0.0 is available. The main advantages of 2.0 are a) improved interactivity by using ScriptUI and b) the ability to save the desired widths in the applied table style.
"AutoColumn2" is an archive containing two scripts. Put the jsx file into the Startup Scripts Folder inside the application’s folder. It creates the menu command every time InDesign launches. Put the jsxbin file into the root of your user’s Scripts Panel folder. It does the main work and can also be called from the script panel or by keyboard shortcut, if you are so inclined as to assign shortcuts to scripts.
Assuming this is the active table, then AutoColumn will open like this. (The screenshots are german, the script should show up as english on an english system. If anyone cares to give me french or other translations I'd be happy to include them.)
The dialog will get rather large the more columns are inside the table. It probably won't play nicely with tables of 20 columns or more.
At the top of each dialog column you'll find number and below as static text the current width. Then comes the target width either manually entered or automatically calculated (checkbox below).
The calculation is such that the entire table is as wide as the text-column is it in.
As soon as you turn on one or more "Auto"-checkboxes the value of the corresponting fields is immediately re-calculated. The same when you change a manual value.
The two buttons "All on" and "All off" turn on or off all "Auto"-checkboxes.
If you click "OK" when the option "Save in Style..." is turned on all the entered values are saved in the applied TableStyle, including the fact if a field is set to "Auto" or not.
As soon as you have done that once for a style in the current document, the next time you open the dialog for a table of the same style the "Load from Style" button is active, allowing you to load all textedit fields.