我有3列工作表:协调员,工作人员,得分。
我只想自动对一张纸(得分最高的工人)进行排序。
我使用了自动触发功能(没有if语句),但是它适用于所有工作表,而且我不知道如何将其限制为一张工作表。
String[] lines = content.split("\n");
int linesCount = 0;
for (int i = 0; i < lines.length; i++) {
linesCount++;
linesCount += metrics.stringWidth(lines[i]) / (jTextArea.getColumns() * columnWidth);
}
jTextArea.setRows(linesCount);
答案 0 :(得分:0)
请查看代码中的注释。
function Sortowanie() {
if (SpreadsheetApp.getActiveSpreadsheet().getName() == 'Name of sheet') {
// This line is looking at the name of the spreadsheet, not the name of the sheet
// Use the line below instead
// if (SpreadsheetApp.getActive().getActiveSheet().getName() == 'Name of sheet') {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1:C35').activate();
// You either need to include the name of the sheet when calling getRange
// from the Spreadsheet: getRange('Sheet1!A1:C35')
// Or you need to call getRange from the Sheet:
/*
var sheet = SpreadsheetApp.getActive().getActiveSheet();
sheet.getRange('A1:C35'),activate();
etc.
*/
spreadsheet.getActiveRange().offset(1, 0, spreadsheet.getActiveRange().getNumRows() - 1)
.sort({column: 3, ascending: false});
spreadsheet.getRange('E9').activate();
}
}
我不确定为什么要先获得一个范围然后再将其抵消,而只是获得偏移范围即可。
function sort() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
var sheetName = sheet.getName();
if (sheetName === 'Name of sheet') {
var range = sheet.getRange('A2:C34');
range.sort({column: 3, ascending: false});
}
}
答案 1 :(得分:0)
弄清楚是否可以共享电子表格将更容易。但是我认为这很接近。
function Sortowanie(e) {
var rg=e.range;
var sh=rg.getSheet();
if(sh.getName()=='Name of Sheet'){
var srg=sh.getRange('A2:C35');
srg.sort({column: 3, ascending: false});
}
}