嗨,stackoverflow 的所有偉大思想,當我在“paySlipMethod()”函式的末尾記錄“paySlip”變數時,會檢索 URL。但是,當我在回圈中呼叫“generatePaySlips()”函式中的函式時,我得到“null”,更不用說將 URL 推送到“links”陣列中了……請賜教,十億謝謝大家。
function generatePaySlips(paySlip){
const month = currentSheet.getRange("B1").getDisplayValues();
const year = currentSheet.getRange("C1").getDisplayValues();
const data = currentSheet.getRange(3,2,currentSheet.getLastRow()-2,21).getDisplayValues();
let errors = [],links = [];
data.forEach(row => {
try{
paySlipMethod (month,year,row[0],row[1],row[2]...blabla,paySlipTemp,tempFolder,pdfFolder,paySlip);
errors.push(["OK"]);
links.push([paySlip]);
Logger.log(paySlip);
} catch(err){
errors.push(["error"]);
}
});
currentSheet.getRange(3,22,currentSheet.getLastRow()-2,1).setValue(errors);
currentSheet.getRange(3,23,currentSheet.getLastRow()-2,1).setValue(links);
function paySlipMethod(month,year,eng_name....paySlipTemp,tempFolder,pdfFolder,paySlip) {
const tempSlip = paySlipTemp.makeCopy(tempFolder);
const tempPaySlip = DocumentApp.openById(tempSlip.getId());
const body = tempPaySlip.getBody();
body.replaceText("{month}",month);
blabla...the rest
tempPaySlip.saveAndClose();
const pdfContentBlob = tempSlip.getAs(MimeType.PDF);
var paySlip = pdfFolder.createFile(pdfContentBlob).setName(month " " year " - " eng_name).getUrl();
tempFolder.removeFile(tempSlip);
return paySlip;
}
uj5u.com熱心網友回復:
據我了解,您希望將回傳的 URL 推paySlipMethod送到links陣列中。但我在這里看不到任何存盤回傳 URL 的變數:-
paySlipMethod (month,year,row[0],row[1],row[2]...blabla,paySlipTemp,tempFolder,pdfFolder,paySlip);
試試這個修改:-
try{
var paySlip = paySlipMethod(month,year,row[0],row[1],row[2]...blabla,paySlipTemp,tempFolder,pdfFolder,paySlip);
errors.push(["OK"]);
links.push([paySlip]);
Logger.log(paySlip);
} catch(err){
errors.push(["error"]);
}
此處 var paySlip將存盤回傳URL的供您以后使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438481.html
