我想用单元格A1的内容命名工作簿。如果单元格A1发生了变化,则工作簿的名称也会发生变化。 我找到了执行此操作的脚本。 但,如果单元格的内容是公式...(例如:=“ Hello World”&D42)则没有更改,因此工作簿没有新名称。
所以我将公式放在另一个单元格(A2)中。我希望当工作簿发生更改时,A2内容将被复制到A1(仅值)...,并且工作簿将使用单元格A1的内容进行命名。
我不能同时使用这两个功能
/* Script to copy paste value only */
var source = ss.getRange('Todo!E2');
source.copyTo(ss.getRange('Todo!A1'), {contentsOnly: true});
/* Script Edit the file name with the contents of cell A1 */
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var firstSheet = ss.getSheets()[0].getName();
if( e.source.getActiveSheet().getName() == firstSheet ) {
var r = e.source.getActiveRange();
if( r.getA1Notation() == 'A1' )
ss.setName(r.getValue());
}
};
第1步:我修改工作簿
第2步:修改A2并将其复制到A1
第3步:A1已更改,因此工作簿已使用A1的内容重命名
非常感谢大家!