2017-04-10 76 views
0

该脚本完全符合我所需要的数据,但是我想限制它只能在一张纸上运行。我试过在var sheet = ss.getSheets()[0]后立即尝试使用if (s.getName() == 'Sheet1'),但脚本不再正常工作。将脚本限制在一张纸上

我错过了什么?

function onEdit(e){ 
    var ui = SpreadsheetApp.getUi(); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    var range = e.range; 
    var columnOfCellEdited = range.getColumn(); 

    if (columnOfCellEdited === 1) 
    var range2 = range.getRow(); 
    var destrange = range2; 

    // adds the formulas 
    var cell = sheet.getRange("C" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("details",$B' + destrange +')+7,SEARCH(",",$B' + destrange +')-SEARCH("details",$B' + destrange +')-7),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("D" + destrange); 
    cell.setFormula('=IFERROR(TRIM(LEFT(SUBSTITUTE(MID(B' + destrange +',FIND("$",B' + destrange +'),LEN(B' + destrange +'))," ",REPT(" ",100)),100)),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("E" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("exceed",$B' + destrange +')+7,SEARCH("%",$B' + destrange +')-SEARCH("exceed",$B' + destrange +')-6),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("F" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("due",$B' + destrange +')+3,SEARCH(";",$B' + destrange +')-SEARCH("due",$B' + destrange +')-3),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("G" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("held on",$B' + destrange +')+7,SEARCH(". Lottery",$B' + destrange +')-SEARCH("held on",$B' + destrange +')-7),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("H" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("posted by",$B' + destrange +')+9,SEARCH(". ",$B' + destrange +')-SEARCH("",$B' + destrange +')-167),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 

} 

回答

1

你可以做到这一点,以确保该功能仅作用于“工作表Sheet1”

 var range = e.range; 
     var sheet = range.getSheet() 
     var sheetName = sheet.getName() 
     if(sheetName != "Sheet1"){ 
      return       //exit function 
     } 

使用事件对象来获取范围>表> SHEETNAME。比较表名称到工作表Sheet1,如果不同的退出功能

全码:

function onEdit(e){ 
    var ui = SpreadsheetApp.getUi(); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var range = e.range; 
    var sheet = range.getSheet() 
    var sheetName = sheet.getName() 
    if(sheetName != "Sheet1"){ 
     return       //exit function 
    } 
    var columnOfCellEdited = range.getColumn(); 
    if (columnOfCellEdited === 1) 
    var range2 = range.getRow(); 
    var destrange = range2; 
    // adds the formulas 
    var cell = sheet.getRange("C" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("details",$B' + destrange +')+7,SEARCH(",",$B' + destrange +')-SEARCH("details",$B' + destrange +')-7),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("D" + destrange); 
    cell.setFormula('=IFERROR(TRIM(LEFT(SUBSTITUTE(MID(B' + destrange +',FIND("$",B' + destrange +'),LEN(B' + destrange +'))," ",REPT(" ",100)),100)),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("E" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("exceed",$B' + destrange +')+7,SEARCH("%",$B' + destrange +')-SEARCH("exceed",$B' + destrange +')-6),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("F" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("due",$B' + destrange +')+3,SEARCH(";",$B' + destrange +')-SEARCH("due",$B' + destrange +')-3),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("G" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("held on",$B' + destrange +')+7,SEARCH(". Lottery",$B' + destrange +')-SEARCH("held on",$B' + destrange +')-7),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    var cell = sheet.getRange("H" + destrange); 
    cell.setFormula('=IFERROR(MID($B' + destrange +',SEARCH("posted by",$B' + destrange +')+9,SEARCH(". ",$B' + destrange +')-SEARCH("",$B' + destrange +')-167),HYPERLINK("https://housing.sfgov.org/listings","See Housing Portal"))'); 
    } 

} 

希望帮助

+0

的伎俩!谢谢! –

相关问题