以下のコードでException: パラメータ(String,number)が SpreadsheetApp.Spreadsheet.getRange のメソッドのシグネチャと一致しません。のエラーが出ます。
Getrangeの部分でデータ型が違うというのが理由というのはわかるのですが、何度修正して試してみても同じエラーが出るので、何か改善策を教えていただけますと幸いです。
function importcsv(){
//事前準備
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ui = SpreadsheetApp.getUi();
//CSVファイル群が入っているフォルダのIDを取得
var csvFolderkey = "〇〇";
//Browser.msgBox(csvFolderkey);
//特定のフォルダ内のCSVファイルを取得
var files = DriveApp.getFolderById(csvFolderkey).getFilesByType(MimeType.CSV);
var csvFile = "〇〇";
var csvData;
var sheetman = sheet.getSheetByName('〇〇');
while (files.hasNext()) {
//UTF-8にてCSVをそのままで取り込む
csvFile = files.next().getBlob().getDataAsString("UTF-8");
//CSVToArrayにて成形してシートに記述(書き込み先シートはtestという名称)
csvData = Utilities.parseCsv(csvFile);
//スプレッドシート書き込み用の配列
var array = [];
//ループで必要な列だけをtempArrayに取り込み
for(var i = 4;i<csvData.length;i++){
//一時処理用の配列を用意
var tempArray = [];
tempArray.push(csvData[i][1]);
tempArray.push(csvData[i][11]);
tempArray.push(csvData[i][22]);
tempArray.push(csvData[i][23]);
tempArray.push(csvData[i][25]);
tempArray.push(csvData[i][26]);
tempArray.push(csvData[i][27]);
tempArray.push(csvData[i][28]);
tempArray.push(csvData[i][38]);
tempArray.push(csvData[i][45]);
//書き込み用配列に押し込む
array.push(tempArray);
}
//書込みをする
var endrow = Number(sheetman.getLastRow()) + 1;
var lastColumn = csvData[0].length;//カラムの数を取得する
var lastRow = Number(csvData[0].length);//行の数を取得する
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,1).setValue(array[i][0]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,2).setValue(array[i][1]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,3).setValue(array[i][2]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,4).setValue(array[i][3]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,15).setValue(array[i][4]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,5).setValue(array[i][5]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,9).setValue(array[i][6]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,10).setValue(array[i][7]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,11).setValue(array[i][8]);
}
for (var i = 0; i < array.length; i++) {
sheet.getRange(endrow + i,12).setValue(array[i][9]);
}
}
ui.alert("CSVデータのインポートが完了しました。");
}