【发布时间】:2016-12-31 22:23:11
【问题描述】:
我想为 Google 表格编写一个有条件的 Google 应用程序脚本,我有点费劲。该工作表有 5 个选项卡。基本上,工作表从谷歌表单中获取数据。客户填写表格,它会填充我们相关工作表的“主”选项卡。
这是我挂断电话的地方: 该表格用于教师将学生推荐给特定的管理员。控制表单的人需要能够将特定的数据行分配给特定的管理员,每个管理员都设置了自己的选项卡。他们通过从下拉列表中选择要将行分配给哪个管理员来执行此操作。
因此,如果将第 2 行分配给“Miranda”,某些数据将被移至“Miranda”标签。为了争论,假设该特定行的 D 列和 E 列将移至“米兰达”选项卡的 A 列。
这是我到目前为止的想法:
function importStudent() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var master_sheet = ss.getSheetByName("Master");
var miranda_sheet = ss.getSheetByName("Miranda");
var columnT = master_sheet.getRange("T1:T").getValues();
var columnD = master_sheet.getRange("D1:D").getValues();
var columnE = master_sheet.getRange("E1:E").getValues();
for(var i = 0; i <= columnT; i++) {
if (columnT[i][0] === "Miranda") {
var miranda_row = (miranda_sheet.getLastRow() + 1);
var active_row = SpreadsheetApp.setActiveRange(columnT[i].getRow());
var selectionFirst = columnD.setActiveRange(active_row:columnD);
var selectionLast = columnE.setActiveRange(active_row:columnE);
var fullName = selectionFirst + " " + selectionLast;
fullName.copyValuesToRange(miranda_sheet, 1, 1, miranda_row, miranda_row);
}
}
}
以下代码已损坏,我正在寻找一些指导以使其正常工作。马上,我知道我至少有两个问题:1 变量太多,2 我不确定是否可以将变量作为参数传递给 setActiveRange() 类。所以,我的问题:
我怎样才能清理这个?为了让它发挥作用,我应该使用什么(类?)?
PS - 在 JavaScript 方面,我仍然认为自己是新手。我有知识,但实际应用是我还在学习的东西:)
【问题讨论】:
标签: javascript google-apps-script google-sheets