我花了一些时间学习一个小脚本,这就是我最终得到的。请注意,在我的脚本示例中,列组略有偏移。
function onEdit(e) {
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
var clmnwdth = activeSheet.getRange("A4:A12").getValues();
var maxi = Math.max.apply(Math, clmnwdth);
Logger.log(maxi);
if (maxi == 0) {
activeSheet.setColumnWidths(5, 20, 10)
} else if (maxi == 1) {
activeSheet.setColumnWidths(5, 20, 10)
} else if (maxi == 2) {
activeSheet.setColumnWidths(9, 16, 10), activeSheet.setColumnWidths(1, 8, 100)
} else if (maxi == 3) {
activeSheet.setColumnWidths(13, 12, 10), activeSheet.setColumnWidths(1, 12, 100)
} else if (maxi == 4) {
activeSheet.setColumnWidths(17, 8, 10), activeSheet.setColumnWidths(1, 16, 100)
} else if (maxi == 5) {
activeSheet.setColumnWidths(21, 4, 10), activeSheet.setColumnWidths(1, 20, 100)
} else {
activeSheet.setColumnWidths(1, 24, 100)
}
}