Google apps script Google应用程序脚本:将单元格更新为文件名

Google apps script Google应用程序脚本:将单元格更新为文件名,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试将单元格更新为文件名。我用以下代码创建了一个简单的脚本 function fileName() { return SpreadsheetApp.getActiveSpreadsheet().getName(); } 通过将单元格设置为=fileName() 但是,如果更改文件名,则不会更新。当文件名更改时,我如何才能进行此更新?这里有一种不用公式即可实现的方法。 无论何时编辑工作表,它都会更新单元格 函数onEdit(e){ var ss=SpreadsheetApp.getA

我正在尝试将单元格更新为文件名。我用以下代码创建了一个简单的脚本

function fileName() {
  return SpreadsheetApp.getActiveSpreadsheet().getName();
}
通过将单元格设置为
=fileName()


但是,如果更改文件名,则不会更新。当文件名更改时,我如何才能进行此更新?

这里有一种不用公式即可实现的方法。 无论何时编辑工作表,它都会更新单元格

函数onEdit(e){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var ssName=ss.getName();
ss.getRange('A1:A1').setValue(ssName);//将A1:A1更改为您想要的任何单元格
}
您可以使用,因此每次打开文件时,单元格都会更新:

function onOpen(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  sheet.getRange("A1").setValue(ss.getName());  
}

我还想加上这个。您还可以向任何函数添加触发器,因为在“播放和调试”旁边有一个触发器选项,您可以对任何函数进行自定义


这也需要编辑文件,但我要它!我在复印发票时会用到这个。
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);
}