首页 文章

根据条件将行移动到另一个Google电子表格

提问于
浏览
0

我想知道是否可以根据编辑(onEdit)特定列条目的条件自动将行移动到另一个Google电子表格,该条目可以是text,date,null或特定数字 .

我尝试了很多次而无法解决这个难题 .

来源(分享):https://docs.google.com/spreadsheets/d/1Of4NUdvcxvCUWNSwpbkC4X8nqHpBetHCvyyiGqUPaJk/edit?usp=sharing

目的地(脚本)(共享):https://docs.google.com/spreadsheets/d/1J7ChXoodQNg47LOrnp_GF-KLR1jKHxdDGmfAErVTP_U/edit?usp=sharing

任何帮助表示赞赏 . 瓦格纳

1 回答

  • 0

    我在代码的第10行收到错误:

    get Sheet by Name

    这是您当前的代码:

    function onEdit(){
      Logger.log("it ran!");
    
      var ss = SpreadsheetApp.openById("1Of4NUdvcxvCUWNSwpbkC4X8nqHpBetHCvyyiGqUPaJk").getActiveSheet();
      var ssd = SpreadsheetApp.openById("1J7ChXoodQNg47LOrnp_GF-KLR1jKHxdDGmfAErVTP_U").getActiveSheet();
    
      Logger.log("ss: " + ss);
      Logger.log("ssd: " + ssd);
    
      var sheet1 = ss.getSheetByName('Source');
      var sheet2 = ssd.getSheetByName('Destination');
    
      Logger.log("sheet1: " + sheet1);
      Logger.log("sheet2: " + sheet2);
    

    这两行存在问题:

    var ss = SpreadsheetApp.openById("1Of4NUdvcxvCUWNSwpbkC4X8nqHpBetHCvyyiGqUPaJk").getActiveSheet();
      var ssd = SpreadsheetApp.openById("1J7ChXoodQNg47LOrnp_GF-KLR1jKHxdDGmfAErVTP_U").getActiveSheet();
    

    你应该删除 .getActiveSheet() .

    var ss = SpreadsheetApp.openById("1Of4NUdvcxvCUWNSwpbkC4X8nqHpBetHCvyyiGqUPaJk");
    var ssd = SpreadsheetApp.openById("1J7ChXoodQNg47LOrnp_GF-KLR1jKHxdDGmfAErVTP_U");
    

    直到我从代码编辑器内部运行代码之后才出现该错误 . 我需要授权一些东西才能让它第一次运行 .

    我在调试模式下运行它 .

    当您在末尾链接 .getActiveSheet() 方法时,它返回SHEET类,而不是SPREADSHEET类 . 有类的层次结构 . SHEET类是SPREADSHEET类下的较低级别 . 因此,您试图在包含SHEET返回类型的变量上为SPREADSHEET类使用方法 .

相关问题