如何解决例外:访问具有ID的文档时,服务电子表格超时
该脚本访问.csv文件,并将数据解析到Google表格中。这个脚本运行良好,直到昨天。有什么变化吗?
function ImportOpscenterExportData() {
var fSource = DriveApp.getFolderById('<<Folder ID>>'); // reports_folder_id = id of folder where csv reports are saved
var fi = fSource.getFilesByName('<<Filename.csv>>'); // latest report file
var ss = SpreadsheetApp.openById('<<Spreadsheet ID>>'); // data_sheet_id = id of spreadsheet that holds the data to be updated with new report data
var sheet = ss.getSheetByName('<<Sheet Name>>');
if ( fi.hasNext() ) { // proceed if "Filename.csv" file exists in the reports folder
var getLastRow = sheet.getLastRow()+1;
var file = fi.next();
var csv = file.getBlob().getDataAsString();
var csvData = CSVToArray(csv); // see below for CSVToArray function
for ( var i=0,lenCsv=csvData.length; i<lenCsv; i++ ) {
sheet.getRange(i+getLastRow,1,csvData[i].length).setValues(new Array(csvData[i]));
var newgetLastrow = sheet.getRange(i+getLastRow,1).getValue();
if (newgetLastrow != "") {
sheet.getRange(i+getLastRow,10).setValue('=iferror(if(AND(A' + (i+getLastRow) + '="",K' + (i+getLastRow) + '=""),"",if(K' + (i+getLastRow) + '="","No","Yes")),"No")');
sheet.getRange(i+getLastRow,11).setValue('=iferror(QUERY(rawdata_jira!$A$2:$H,"SELECT B WHERE A CONTAINS """&$A' + (i+getLastRow) + '&""" AND A CONTAINS """&$C' + (i+getLastRow) + '&""" AND A CONTAINS """&$D' + (i+getLastRow) + '&""" AND A CONTAINS """&$E' + (i+getLastRow) + '&""" AND A CONTAINS ""(Error Code: "&$F' + (i+getLastRow) + '&")"" ",0),"")');
sheet.getRange(i+getLastRow,12).setValue('=IFERROR(INDEX(rawdata_jira!$F:$F,MATCH($K' + (i+getLastRow) + ',rawdata_jira!$B:$B,0)),14).setValue('=IF(A' + (i+getLastRow) + ':A= "",WEEKNUM(ARRAYFORMULA(A' + (i+getLastRow) + ':A)))');
}
}
file.setTrashed(true);
}
};
谢谢
解决方法
这个问题也开始出现在我的宏中。
第一个对我有用的解决方法是在新的 appScript 文件(同一个电子表格)上复制宏并删除前一个。
几个月后仍然有效的第二个解决方法是添加 SpreadsheetApp.flush() 在出现错误的行前后:
SpreadsheetApp.flush();
// Line with the error
SpreadsheetApp.flush();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。