【发布时间】:2020-07-10 23:19:50
【问题描述】:
我正在尝试找出一种方法,让 Google 表格在创建新表格时自动合并单元格 A1-C1。我和我的同事一直在尝试找出可以实现这一点的脚本,但我们尝试的所有操作都只更改了我们正在处理的上一个工作表,而不是新工作表。
到目前为止,这是我们尝试过的两个脚本,只是为了获得我们正在寻找的某种结果:
function formatCells() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var s = ss.getSheetByName('Combined')
var range = s.getDataRange()
var values = range.getValues();
for( var row = values.length -1; row >= 0; --row)
if (values[row][1] == 'Hello')
{s.getRange(row+1,1).mergeAcross();
}
}
和
function newSheetTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('newSheet')
.forSpreadsheet(ss)
.onChange()
.create();
}
function newSheet(e){
if (e.changeType == 'INSERT_GRID') {
SpreadsheetApp.flush();
SpreadsheetApp.getActiveSheet().getRange('A1:C1').merge();
}
}
有人知道我们哪里出错了吗?
【问题讨论】:
-
您的意思是,当任何用户创建新工作表时?没有触发器。我建议您为活动工作表编写函数,并让每个用户决定是否要运行它。
-
合并单元格是一个非常糟糕的主意,会导致意想不到的问题。
标签: google-apps-script google-sheets