我正在尝试将单元格更新为文件名。我使用以下
创建了一个简单的脚本function fileName() {
return SpreadsheetApp.getActiveSpreadsheet().getName();
}
这可以通过将单元格设置为=fileName()
但是,如果我更改文件名,则不会更新。如何在文件名更改时进行此更新?
答案 0 :(得分:2)
这是一种没有公式的方法。 无论何时编辑工作表,它都会更新单元格。
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssName = ss.getName();
ss.getRange('A1:A1').setValue(ssName); //change A1:A1 to whatever cell you would like
}

答案 1 :(得分:1)
以为我也要添加此内容。您还可以向任何功能添加触发器,因为在播放和调试旁边有一个触发器选项,您可以自定义为任何功能。
Here is a link to the image of the button
var workBookName = SpreadsheetApp.getActiveSpreadsheet().getName();
var someVariableName = sheet.getRange("G3").getValue();
var newWorkbookName = sheet.getRange("F3").getValue() + "_ConcatString_" + someVariableName // if you want to concat some values
Logger.log(workBookName);
Logger.log(newWorkbookName);
if (newName.toString().length>0 && workBookName !== newWorkbookName) {
workBook.rename(newWorkbookName);
}
答案 2 :(得分:0)
您可以使用onOpen trigger,因此每次打开文件时单元格都会更新:
function onOpen(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.getRange("A1").setValue(ss.getName());
}