【解決者求む】Google Apps ScriptのinsertRowsメソッドで謎のエラー

JavaScript

1function autoCreateSheet(){2 3 // アンケート結果シートを取得4 var questionSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("アンケート結果");5 6 // 最新の入力行を取得7 var lastRowNumber = questionSheet.getLastRow();8 9 10 11 12 // 1.年間計画表を自動作成13 14 // 1-1.年間計画表のテンプレートを取得15 var templateScheduleSheet = DriveApp.getFileById('hoge'); //※コピーしてアカウントが変わる場合は変更16 17 18 // 1-2.生徒氏名を取得19 const studentNameCellNumber = 2 //アンケート結果シート配置替えで要変更20 var studentName = questionSheet.getRange(lastRowNumber,studentNameCellNumber).getValue();  21 22 23 // 1-3.年間計画表フォルダ作成24 var newFolder = DriveApp.createFolder(studentName);25 26 27 // 1-4.ファイル名とフォルダIDを取得28 var newScheduleSheetName = '年間計画表' + studentName + 'さん';29 var scheduleFolderId = DriveApp.getFolderById('hoge'); //※コピーしてアカウントが変わる場合は変更30 31 32 // 1-5.年間計画表を新規作成33 var newScheduleSheet = templateScheduleSheet.makeCopy(newScheduleSheetName,scheduleFolderId);34 35 36 // 1-6.年間計画表に生徒氏名を自動入力37 var newScheduleSheetId = newScheduleSheet.getId();38 var currentScheduleSheet = SpreadsheetApp.openById(newScheduleSheetId); //新規作成したシートにアクセス39 currentScheduleSheet.getRange("B11:O11").setValue(studentName + "さん");40 41 42 // 1-7.志望校・志望学部を自動入力43 const preferredSchoolCellNumber = 5; //アンケート結果シート配置替えで要変更44 const preferredFacultyCellNumber = 6; //アンケート結果シート配置替えで要変更45 var preferredSchool = questionSheet.getRange(lastRowNumber,preferredSchoolCellNumber).getValue();46 var preferredFaculty = questionSheet.getRange(lastRowNumber,preferredFacultyCellNumber).getValue();47 currentScheduleSheet.getRange("B12:O12").setValue("志望校:" + preferredSchool + " " + preferredFaculty);48 49 50 // 1-8.科目を計画表に自動入力51 52 // 科目のセル取得53 const subjectCellNumber = 9;54 var subjectCell = questionSheet.getRange(lastRowNumber,subjectCellNumber).getValue();55 56 // 条件分岐で科目表示57 58 var currentLastRow = 14; // 科目セルの1つ下の行59 const subjectColumnNumber = 2; //科目列60 const majorColumnNumber = 3; //単元列61 62 // 英語63 if (subjectCell.includes("英語")){64 var numberOfMajor = 4; //単元数65 currentScheduleSheet.insertRows(currentLastRow,numberOfMajor); //行を挿入66 // 科目追加67 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).setValue("英語").setBackgroundRGB(56,185,255); 68 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).merge(); //セルを結合69 //単元追加70 currentScheduleSheet.getRange(currentLastRow,majorColumnNumber).setValue("単語"); 71 currentScheduleSheet.getRange(currentLastRow + 1,majorColumnNumber).setValue("文法");72 currentScheduleSheet.getRange(currentLastRow + 2,majorColumnNumber).setValue("解釈");73 currentScheduleSheet.getRange(currentLastRow + 3,majorColumnNumber).setValue("長文読解");74 currentLastRow += numberOfMajor; //最終行を更新75 }76 77 // 現代文78 if (subjectCell.includes("現代文")){79 var numberOfMajor = 2; //単元数80 currentScheduleSheet.insertRows(currentLastRow,numberOfMajor); //行を挿入81 // 科目追加82 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).setValue("現代文").setBackgroundRGB(255,66,0); 83 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).merge(); //セルを結合84 //単元追加85 currentScheduleSheet.getRange(currentLastRow,majorColumnNumber).setValue("背景知識"); 86 currentScheduleSheet.getRange(currentLastRow + 1,majorColumnNumber).setValue("読解");87 currentLastRow += numberOfMajor; //最終行を更新88 }89 90 // 古文91 if (subjectCell.includes("古文")){92 var numberOfMajor = 4; //単元数93 currentScheduleSheet.insertRows(currentLastRow,numberOfMajor); //行を挿入94 // 科目追加95 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).setValue("古文").setBackgroundRGB(195,66,0); 96 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).merge(); //セルを結合97 //単元追加98 currentScheduleSheet.getRange(currentLastRow,majorColumnNumber).setValue("単語"); 99 currentScheduleSheet.getRange(currentLastRow + 1,majorColumnNumber).setValue("文法");100 currentScheduleSheet.getRange(currentLastRow + 2,majorColumnNumber).setValue("解釈");101 currentScheduleSheet.getRange(currentLastRow + 3,majorColumnNumber).setValue("長文読解");102 currentLastRow += numberOfMajor; //最終行を更新103 }104 105 // 漢文106 if (subjectCell.includes("漢文")){107 var numberOfMajor = 2; //単元数108 currentScheduleSheet.insertRows(currentLastRow,numberOfMajor); //行を挿入109 // 科目追加110 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).setValue("漢文").setBackgroundRGB(215,65,39); 111 currentScheduleSheet.getRange(currentLastRow,subjectColumnNumber,numberOfMajor).merge(); //セルを結合112 //単元追加113 currentScheduleSheet.getRange(currentLastRow,majorColumnNumber).setValue("文法"); 114 currentScheduleSheet.getRange(currentLastRow + 1,majorColumnNumber).setValue("長文読解");115 currentLastRow += numberOfMajor; //最終行を更新116 }117}

コメントを投稿

0 コメント