我想使运行以下脚本的用户选择两个日期start_date_cal和end_date_cal。
通过大量阅读有关如何执行此操作的信息,我发现有关Html Services的很多知识,但是我无法在代码中成功实现它。
function main_cotisations() {
var cell_col_number = "";
var cell_row_number = "";
var ss = Spreadsheetapp.getactive();
var sheet = ss.getSheetByName('2019-2020');
//ss.setactiveSelection('A3');
ss.getRange('A3').activate();
// Get active cell and get value of it
var cell = ss.getcurrentCell();
var cellValue = cell.getvalue();
var start_date_cal = new Date('December 12,2019 19:00:00 +1100');
var end_date_cal = new Date('December 12,2019 22:30:00 +1100');
// Start the loop
while (cellValue != ""){
cellValue = cell.getvalue();
if (cellValue != "") {
var infos_user = {};
infos_user.prenom = sheet.getRange(cell.getRow(),cell.getcolumn()+2).getvalue();
infos_user.mail = sheet.getRange(cell.getRow(),cell.getcolumn()+3).getvalue();
infos_user.solde_a_payer = sheet.getRange(cell.getRow(),cell.getcolumn()+8).getvalue();
infos_user.url_calendar = 'https://www.google.com/calendar/render?action=TEMPLATE&text=Penser+aux+capitations+: '+infos_user.solde_a_payer+'F&location=Ducos&dates='+getRelativeDate(start_date_cal)+'%2F'+getRelativeDate(end_date_cal);
if (sheet.getRange(cell.getRow(),cell.getcolumn()+9).isChecked() == false) {
sendmail_paiement(infos_user);
}
};
cell = cell.offset(1,0);
};
var infos_globales = {};
infos_globales.solde_global = sheet.getRange(cell.getRow()-1,cell.getcolumn()+8).getvalue();
infos_globales.nb_user_hospitalier = sheet.getRange(cell.getRow()-1,cell.getcolumn()+9).getvalue();
infos_globales.nb_user_retard =sheet.getRange(cell.getRow()-1,cell.getcolumn()+10).getvalue();
}
//***********************************************************************************************************************
function getRelativeDate(given_date) {
//{given_date = Utilities.formatDate(temp_date,"GMT","yyyyMMdd'T'HHmmss'Z'");}
temp = Utilities.formatDate(given_date,"yyyyMMdd'T'HHmmss'Z'");
return temp.toString();
}
function sendmail_paiement(infos_user) {
var templ = HtmlService
.createTemplateFromFile('tpl_mail_exceptionnel');
templ.infos_user = infos_user;
var message = templ.evaluate().getcontent();
if (infos_user.solde_a_payer>0) {
MailApp.sendEmail(
infos_user.mail,"Rappel de capitations",'',{htmlBody: message,}
);
}
}
在这里,我会有所帮助。