GAS 複数シートのデータを取得
Q&A
Closed
解決したいこと
プログラミング3ヵ月目のものです。
GASを使って、FormとSpreadSheetを組み合わせた案件整理シートをつくっています。
シート数が定まっていないシートの特定した範囲を取得して、formula関数で集計シートを作成しようとしましたが、上手くいきません。
どうかお力をお貸しください。
発生している問題
let spreadsheet = SpreadsheetApp.openById("");
let originalSheet = spreadsheet.getSheetByName("");
const FORM = {
ASSIGNER: 0,
DATE: 1,
OWNER: 2,
BAGGAGE: 3,
BRANCH: 4,
QUANTITY: 5,
START_TIME: 6,
ITEM: 7,
ISSUE: 8,
ACTION: 9
}
function onFormSubmit(e) {
let itemResponses = e.response.getItemResponses();
let Responses = [];
for (let i = 0; i < 10; i++) {
Responses.push(itemResponses[i].getResponse())
}
const writeResponses = [
[
Responses[FORM.ASSIGNER],
Responses[FORM.DATE],
Responses[FORM.BAGGAGE],
Responses[FORM.BRANCH],
Responses[FORM.QUANTITY],
Responses[FORM.START_TIME],
Responses[FORM.ITEM],
Responses[FORM.ISSUE],
Responses[FORM.ACTION],
]
];
let sheet = spreadsheet.getSheetByName(Responses[2]);
if (sheet === null) {
let sheet = originalSheet.copyTo(spreadsheet).setName(Responses[2])
};
const responseRange = sheet.getRange(3, 1, 1, 9); // first line
sheet.insertRowBefore(3);
responseRange.setBorder(true, true, true, true, true, true, "BLACK", SpreadsheetApp.BorderStyle.SOLID);
responseRange.setValues(writeResponses);
sheet.activate();
spreadsheet.moveActiveSheet(3);
};
let tallySheet = spreadsheet.getSheetByName("集計シート");
let sheets = spreadsheet.getSheets();
for (let i = 2; i < sheets.length; i++){
let sheetName = sheets[i].getName();
let setformula = tallySheet.getRange().
setFormula()
};
該当するソースコード
ソースコードを入力
例)
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。