Эта функция позволит вам установить имя файла электронной таблицы:
function onOpen() {
SpreadsheetApp.getUi().createMenu('CaseMenu')
.addItem('Change Case Number', 'changeCaseNumber')
.addToUi();
}
function changeCaseNumber() {
const ss=SpreadsheetApp.getActive();
const sh=ss.getSheetByName('Cases');
const rg=sh.getDataRange();
var vA=rg.getValues();
var tObj={};
vA.forEach(function(r,i){
tObj[r[0]]=r[1];
});
let r=SpreadsheetApp.getUi().prompt("Get Case Number", "Enter Case Number", SpreadsheetApp.getUi().ButtonSet.OK_CANCEL);
if(r.getSelectedButton()==SpreadsheetApp.getUi().Button.OK) {
tObj.number=r.getResponseText();
//DriveApp.getFileById(ss.getId()).setName(Utilities.formatString('%s - %s',tObj.prefix,tObj.number));
ss.rename(Utilities.formatString('%s - %s',tObj.prefix,tObj.number));
setCases(tObj);
}
}
function setCases(dfltObj){
var dfltH=Object.keys(dfltObj).length;
if(dfltObj){
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Cases');
var rg=sh.getRange(1,1,dfltH,2);
var vA=rg.getValues();
for(var i=0;i<dfltH;i++){
vA[i][1]=dfltObj[vA[i][0]];
}
rg.setValues(vA);
}
}
Я использую скрытый лист для создания этой таблицы:
Вы можете использовать префикс, чтобы установить начало заголовка вашей электронной таблицы, а затем вы можете запустить функцию changeCaseNumber (), чтобы изменить вторую часть имени вашей электронной таблицы.
И если вы wi sh вы можете довольно легко изменить точную конфигурацию строки, потому что я использовал Utilties.formatString () для создания заголовка, и он использует формат sprintf, который знаком многим программистам. Он также записывает ваш последний номер дела и ваш текущий основной заголовок. Вы можете легко изменить его, перейдя в электронную таблицу «Дела», если вы используете sh.