0
したがって、以下のコードでは、シートをクリアして値だけで上書きするまで関数は正常に実行されているようです(2番目のシートのフォーミュラは不要です)。残念ながら何らかの理由で私は空白のシートで終わり、値は書かれていません。誰でもその理由を知ることができますか?ソースとターゲットシートは、行の数が異なる場合のおかげsetValuesはGoogleスクリプトで書かれていません
function newMonthFunction() {
// what files we want
var FindThisText = "Core Live 2016";
var files = DriveApp.searchFiles('title contains "' + FindThisText + '" and mimeType = "application/vnd.google-apps.spreadsheet"')
// make a copy for the new month
while (files.hasNext()) {
var file = files.next();
var sheet = SpreadsheetApp.getActiveSheet()
var range = sheet.getRange(2,2);
var NewMonth = range.getValue();
var editors = file.getEditors();
var viewers = file.getViewers();
var file = DriveApp.getFileById(file.getId());
var FileRenameStart =file.getName();
var FileRenameend = "Raizcorp Core " + NewMonth;
DriveApp.getFileById(file.getId()).makeCopy(FileRenameend);
// Get Workbooks
var filesNew = DriveApp.searchFiles('title contains "' + FileRenameend + '" and mimeType = "application/vnd.google-apps.spreadsheet"');
var fileNew = filesNew.next();
// Set security for new sheet
for (var i = 0; i<viewers.length;i++) {
fileNew.addViewer(viewers[i])
};
for (var i = 0; i<editors.length;i++) {
fileNew.addEditor(editors[i])
};
var source = SpreadsheetApp.openById(file.getId());
var target = SpreadsheetApp.openById(fileNew.getId());
//Get Spreadsheets
var source_sheet = source.getSheetByName("Entrepreneur List");
var target_sheet = target.getSheetByName("Entrepreneur List");
// Get target last row
var last_row = target_sheet.getLastRow();
// Set Ranges
var source_range = source_sheet.getRange("A:AU");
var target_range = target_sheet.getRange("A:AU");
target_range.clear()
// Fetch values
var MyValues = source_range.getValues();
// Save to spreadsheet
target_range.setValues(MyValues);
}}