ниже приведен сценарий, который я собираюсь собрать как можно лучше.Но я юридически слепой и мне нужно сделать некоторую автоматизацию (отсюда и этот скрипт), и когда я помещаю его в редактор скриптов Google, он выдает ошибки «отсутствует; перед строкой ...», но я проверил и дважды проверил, ииз того, что я вижу все ";"что должно быть в нем; (!.
Как VBA-кодер, я МОЖЕТ сделать большую часть этого через это, но выбрал Google для листов и форм, поэтому нужно разобраться в этом чертовски JavaScriptвещи сейчас.
Может кто-нибудь, пожалуйста, потратьте некоторое время, чтобы просмотреть это и наметить, где ошибки?
Большая часть этого кода взята из кусочков здесь при переполнении стека, чтобы увидеть, еслиЯ могу разобраться в этом и научиться сам, но мне действительно нужна некоторая помощь по этому вопросу прямо сейчас (таким образом, что позволит мне учиться одновременно).
Концепция этого сценария в конечном итоге заключается в том, чтобы принятьформировать заявки и сортировать их на другие листы в электронной таблице на основе "courseChoices", а затем, далее, через "Locations"
function change(e) { var ss = SpreadsheetApp.getActiveSpreadsheet();
`` var sourceSheet = ss.getSheetByName ('Form Responses 1');
var sourceRows = sourceSheet.getDataRange();
var numSourceRows = sourceRows.getNumRows();
var sourceRowValues = sourceRows.getValues();
var rowsTransferred = 0;
for (var i = 0; i <= numSourceRows - 1; i++) {
var thisSourceRowValue = sourceValues[i];
// See if the course is a multiple choice of courses
// in this case column 8 (array 7)
if (thisSourceRowValue[7].indexOf(",") < 0) {
// Is not Multiple choice
Var CourseChoices = thisSourceRowValue[7]
}
else{
var courseChoices = thisSourceRowValue[7].split(",");
for(var x = 0; x <= thisSourceRowValue[7].indexOf(","); x++)
switch(courseChoices(x)) {
case courseChoices(x).indexOf("Dual") > -1;
case courseChoices(x).indexOf("Childhood") > -1;
var Target = "Dual Diploma";
var courseName = "Dual Diploma in Early Childhood Education and Care";
break;
case courseChoices(x).indexOf("Sector") > -1;
var Target = "Adv Sector";
var courseName = "Advanced Diploma in Community Sector Management";
break;
case courseChoices(x).indexOf("Adv") > -1;
var Target = "Adv Management";
var courseName = "Advanced Diploma in Leadership and Management";
break;
case courseChoices(x).indexOf("Business") > -1;
var Target = "CertIII Business";
var courseName = "Certificcate III in Business";
break;
case Default;
var Target = "Other";
var courseName = courseChoices(x);
}
// checked all multiple choices
}
// Made sure we have ALL Choices now
}
// See if the sheet exists do more stuff
if (!ss.getSheetByName(Target)) {
// Tab does not exist, so create it
ss.insertSheet(Target);
// Ensured Target Tab Exists
// Insert first row as headers
// sort order of columns ....
var range_input = sourceSheet.getRange("A1:N1");
var range_output = Target.getRange("A1");
//sort columns into new orders
var keep_columns = [0,1,2,3,4,5,10,9,8,11,6,7, 12];
//Now copy the columns into the target in the new order
copyColumnNumbers(range_input, range_output, keep_columns);
}
// set our target sheet and target range
var colNumber = sourceSheet.getLastColumn()-1;
var targetSheet = ss.getSheetByName(Target);
var targetRange = targetSheet.getRange(targetSheet.getLastRow()+1, 1, 1, colNumber);
// get our source range/row
var sourceRange = SourceSheet.getRange(rowIndex, 1, 1, colNumber);
var targetRows = targetSheet.getDataRange();
var numTargetRows = targetRows.getNumRows();
var targetValues = targetRows.getValues();
for (var y = 0; y <= numTargetRows - 1; y++) {
var thisTargetRow = targetValues[y];
// See if the first name, last name and Email are the same
if (thisTargetRow[2] == thisSourceRow[2] && thisTargetRow[3] == thisSourceRow[3] && thisTargetRow[5] == thisSourceRow[5]) {
// Record Exists, so just alter the coursename
thisTargetRow[7] == courseName;
break;
}Else if (targetRow[0] == ""){
// WE have come to a blank line in the target sheet
// Alter Course to proper Name
thisTargetRow[7] == courseName;
// Add new record in correct column orders
var range_input = thisTargetRow;
var range_output = thisTargetRow
//sort columns into new orders
var keep_columns = [0,1,2,3,4,5,10,9,8,11,6,7, 12];
//Now copy the columns into the target in the new order
copyColumnNumbers(range_input, range_output, keep_columns);
break;
}
// records checked in target
}
// We have checked all the records now in the Source Sheet
}
// ALL DONE!
}
У меня есть привычка широко комментировать в моем кодировании, поэтому надеюсь, что это не оттолкнет вас. Потому что я не вижу начала и конца строки alwyys (И, следовательно, звезды и конца bблоки кода) Я использую комментарии, чтобы заявить, кто я, и где
, пожалуйста, напишите мне некоторые исправления, если это возможно, и ГДЕ мои ошибки (поскольку мне будет намного легче читать электронные письма)вслух мои голосовые программы.
Спасибо заранее всем;)