我在尝试更新一个单元格到文件名。我用以下内容创建了一个简单的脚本
function fileName() {
return SpreadsheetApp.getActiveSpreadsheet().getName();
}
这是通过将单元格设置为=fileName()
来实现的。
但是,如果我更改了文件名,则不会更新。当文件名更改时,如何才能进行此更新?
发布于 2017-04-26 12:26:15
这是一种没有公式的方法。无论何时编辑工作表,它都会更新单元格。
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
}
发布于 2019-12-02 08:24:55
只是想把这个也加进去。您还可以向任何函数添加触发器,因为接下来的play & debug有一个触发器选项,您可以自定义该选项为任何函数。
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);
}
发布于 2017-04-27 00:36:50
您可以使用onOpen触发器,因此该单元格将在每次打开文件时更新:
function onOpen(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.getRange("A1").setValue(ss.getName());
}
https://stackoverflow.com/questions/43642828
复制