我有我在网上找到的这个代码,它可以根据需要运行,但是如果你想调用它们,它适用于我的所有工作表或底部的选项卡。我希望它能够运作
function onEdit(event)
{
var sheet = event.source.getActiveSheet();
var eventRange = event.source.getActiveRange();
var eventColumn = eventRange.getLastColumn();
if (eventColumn == 1)
{
var stampRange = eventRange.offset(0,10);
stampRange.setValue(new Date());
}
}
这是原始代码,我尝试在第4行添加以下但我无法使其工作。我对javascript没有经验,但我需要你的帮助,因为我正在努力。谢谢。
if(sheet.match(/*.13/)){
这是我添加的行。根据我在线阅读,只有当工作表名称以13结尾时,脚本才有效。但它不起作用。
答案 0 :(得分:0)
你有正确的想法,但sheet
是一个工作表对象,而.match()
是一个String方法。使用Sheet.getSheetName()
方法获取工作表的名称(选项卡上的文字)。
在onEdit()
中,您通常希望在不投入大量处理时间的情况下进行纾困,因此您应该尽早对表格名称进行测试。
如果你想完全匹配"Sheet13"
,你应该测试一下 - 因为你的正则表达式也会匹配“Apollo13”和“a13a”。
function onEdit(event)
{
var sheetName = event.source.getActiveSheet().getSheetName();
if (sheetName.match(/.13/) == null)
// These aren't the droids you're looking for...
return;
var eventRange = event.source.getActiveRange();
var eventColumn = eventRange.getLastColumn();
if (eventColumn == 1)
{
var stampRange = eventRange.offset(0,10);
stampRange.setValue(new Date());
}
}