2013-02-14 122 views
0

我有我在网上找到的这段代码,它可以根据需要工作,但它适用于我所有的工作表或底部的选项卡,如果您想打电话给他们。我想它的工作Google电子表格脚本。只适用于一张工作表

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

你有正确的想法,但sheet是一个表格对象,而.match()是一个字符串方法。使用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()); 

    } 
} 
相关问题