我想知道是否可以根据编辑(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
感谢任何帮助。瓦格纳
答案 0 :(得分:0)
我在您的代码的第10行收到错误:
这是您当前的代码:
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类使用方法。