我有一个很简单的问题:
我正在尝试检索文档中存在的所有图纸的名称,但是问题是它不会根据更改自动更新。我已经尝试在我的内部使用GoogleClock()函数,并且将触发器设置为时间驱动和事件驱动,但是它们都不适合我,我必须重写自定义函数以刷新数据,但是它不能解决任何问题。
function sheetNames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var i=0 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )
return out
}
我会爱3000个可以帮助我的人。最好的问候!
P.D。我是javascript虚拟玩家
答案 0 :(得分:0)
/*@customfunction*/
function sheetNames(e) {
return SpreadsheetApp.getActive()
.getSheets()
.map(function(sheet) {
return sheet.getName();
});
}
/*Create a installable trigger to listen to grid changes on the sheet*/
function onChange(e) {
if (!/GRID/.test(e.changeType)) return; //Listen only to grid change
SpreadsheetApp.getActive()
.createTextFinder('=SHEETNAMES\\([^)]*\\)')
.matchFormulaText(true)
.matchCase(false)
.useRegularExpression(true)
.replaceAllWith(
'=SHEETNAMES(' + (Math.floor(Math.random() * 500) + 1) + ')'
);
}