Google Apps脚本:更新单元格到文件名

时间:2017-04-26 19:21:50

标签: google-apps-script google-sheets

我正在尝试将单元格更新为文件名。我使用以下

创建了一个简单的脚本
function fileName() {
  return SpreadsheetApp.getActiveSpreadsheet().getName();
}

这可以通过将单元格设置为=fileName()

来实现

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

3 个答案:

答案 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());  
}