function chk(){
//PDD data setting
var today=new Date();
var Date = Utilities.formatDate(new Date(today.getFullYear(),today.getMonth(),today.getDate()), Session.getScriptTimeZone(), "yy-MM-dd");
[{
sheetName: "Sheet1" ,
folderID: '(google drive Folder)',
sheetId: '(sheetId1)',
tab: ['1', '2', '3', '4'],
conver: Date
},{
sheetName: "Sheet2" ,
folderID: '(google drive Folder)',
sheetId: '(sheetId1)',
tab: ['1', '2', '3', '4'],
conver: Date
}{
sheetName: "Sheet3" ,
folderID: '(google drive Folder)',
sheetId: '(sheetId1)',
tab: ['1', '2', '3', '4'],
conver: Date
}].map(obj => cloneValues(obj))
}
function cloneValues(obj){
let string = obj.conver;
let A = obj.sheetName;
let B = DriveApp.getFolderById(obj.folderID);
let C = DriveApp.getFileById(obj.sheetId);
var totalurl = PastetoDrive.makeCopy('Date '.concat( obj.conver , ' ',obj.sheetName ), dstFolder).getUrl();
var copy_url = totalurl.split("/");
let linkSheet = SpreadsheetApp.openById('(Backup Link sheetId)').getSheetByName('LINK');
linkSheet.appendRow([ string , A , totalurl ]);
for(let i = 0; i < obj.tab.length ; i ){
let fromSheet = SpreadsheetApp.openById(obj.sheetId).getSheetByName(obj.tab[i]);
let toSheet = SpreadsheetApp.openById(copy_url[5]).getSheetByName(obj.tab[i]);
setValues(fromSheet,toSheet)
}
}
function setValues(fromSheet,toSheet){
let maxCols = fromSheet.getMaxColumns();
let maxRows = fromSheet.getMaxRows();
let frvalues = fromSheet.getRange(1,1,maxRows,maxCols).getValues();
toSheet.getRange(1,1,maxRows,maxCols).setValues(frvalues);
}
例外:服務錯誤:電子表格
我正在撰寫和使用 Google AppScript,這是一個執行每日備份的作業表。例外:服務錯誤:電子表格錯誤大約一個月前在我一直使用良好的腳本中開始出現。看日志,setValues有問題。似乎 fromSheet 和 toSheet 的范圍不匹配。
每日備份應作為值存盤在 fromSheet > toSheet 中。
function setValues(fromSheet,toSheet){
const range = fromSheet.getDataRange().getValues();
return toSheet.range;
}
更改函式 setValues 語法并使用它后,我嘗試使用 setValues(range) 將其保存為值,但這還不夠。
我是腳本初學者。我正在通過組合和更改它們在 stackoverflow 和 GitHub 上測驗和使用我需要的各種文章。這次有人可以再幫我嗎?
uj5u.com熱心網友回復:
function setValues(fromSheet,tosheet){
try {
const range = fromSheet.getRange(1, 1, tosheet.getMaxRows(), tosheet.getMaxColumns());
const values = range.getValues();
const toRange = tosheet.getRange(1, 1, tosheet.getMaxRows(), tosheet.getMaxColumns()).getA1Notation();
return tosheet.getRange(toRange).setValues(values);
} catch (e) {
Logger.log(e);
}
}
成為
原樣
結果,它成功了。發布一個問題并等待很多人的幫助,我嘗試了各種方法,但沒有任何改善,我不斷收到服務錯誤:電子表格文本。
最后,我更改了一些setValues語法并嘗試再次設定范圍,但發生了同樣的錯誤。在確認克隆表的結果是我想要的結果后,決定避免這個問題。
catch(e)
感謝您的關注。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/468295.html
