我有一个脚本用于从另一张纸上打印一张纸并通过邮件发送
这是代码:
function SendTable()
{
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('E-mail', 'Write your E-mail', ui.ButtonSet.YES_NO);
var tbEmail = "blahblahblah@gmail.com";
if (response.getSelectedButton() == ui.Button.YES)
{
tbEmail = response.getResponseText();
if(tbEmail == "")
{
tbEmail = "blahblahblah@gmail.com";
}
}
var source = SpreadsheetApp.getActiveSpreadsheet();
var row = source.getActiveRange().getRow();
var source_range = source.getRange("A"+row+":T"+row+"");
var dest = [];
dest = source_range.getValues();
var ssNew = SpreadsheetApp.create("tempCard");
var destination = SpreadsheetApp.openById(ssNew.getId());
if (dest.length > 0 )
{
destination.getRange("B1:U1").setValues(dest);
destination.getRange("A1:G70").setFontFamily("Times New Roman").setFontSize(10);
var fName = destination.getRange("B1").getValue();
destination.getRange("A1").setValue("Оценка №:");
destination.getRange("A1:B1").setBackgroundRGB(10, 246, 55);
dest = destination.getRange("C1:C1").getValues();
destination.getRange("A2").setValue("Дата принятия на оценку:");
destination.getRange("B2").setValues(dest);
destination.getRange("B2:G2").merge();
dest = destination.getRange("D1:D1").getValues();
destination.getRange("A3").setValue("Наименование дисциплины:");
destination.getRange("B3").setValues(dest);
destination.getRange("B3:G3").merge();
dest = destination.getRange("E1:E1").getValues();
destination.getRange("A4").setValue("Тема работы:");
destination.getRange("B4").setValues(dest);
destination.getRange("B4:G4").merge();
dest = destination.getRange("F1:F1").getValues();
destination.getRange("A5").setValue("Требования к работе, описание задания:");
destination.getRange("B5").setValues(dest);
destination.getRange("B5:G12").merge().setVerticalAlignment("top");
dest = destination.getRange("G1:G1").getValues();
destination.getRange("A13").setValue("Тип работы:");
destination.getRange("B13").setValues(dest);
destination.getRange("B13:G13").merge();
dest = destination.getRange("H1:H1").getValues();
destination.getRange("A14").setValue("Кол-во стр. (если дисциплина гуманитарная, экономическая или опиcательная):");
destination.getRange("B14").setValues(dest);
destination.getRange("B14:G14").merge();
dest = destination.getRange("I1:I1").getValues();
destination.getRange("A15").setValue("Антиплагиат (проценты)");
destination.getRange("B15").setValues(dest);
destination.getRange("B15:G15").merge();
dest = destination.getRange("J1:J1").getValues();
destination.getRange("A16").setValue("Антиплагиат (ссылка)");
destination.getRange("B16").setValues(dest);
destination.getRange("B16:G16").merge();
destination.getRange("A17").setValue("Имеется ли план работы или его нужно составлять нам?");
destination.getRange("B17:G17").merge();
destination.getRange("A18").setValue("В каком виде отдавать работу:");
destination.getRange("B18:G18").merge();
dest = destination.getRange("K1:K1").getValues();
destination.getRange("A19").setValue("Преподаватель:");
destination.getRange("B19").setValues(dest);
destination.getRange("B19:G19").merge();
dest = destination.getRange("L1:L1").getValues();
destination.getRange("A20").setValue("Название учебного заведения:");
destination.getRange("B20").setValues(dest);
destination.getRange("B20:G20").merge();
dest = destination.getRange("M1:M1").getValues();
destination.getRange("A21").setValue("Форма обучения:");
destination.getRange("B21").setValues(dest);
destination.getRange("B21:G21").merge();
dest = destination.getRange("N1:N1").getValues();
destination.getRange("A22").setValue("Факультет:");
destination.getRange("B22").setValues(dest);
destination.getRange("B22:G22").merge();
dest = destination.getRange("O1:O1").getValues();
destination.getRange("A23").setValue("Специальность:");
destination.getRange("B23").setValues(dest);
destination.getRange("B23:G23").merge();
dest = destination.getRange("P1:P1").getValues();
destination.getRange("A24").setValue("Курс:");
destination.getRange("B24").setValues(dest);
destination.getRange("B24:G24").merge();
dest = destination.getRange("Q1:Q1").getValues();
destination.getRange("A25").setValue("Группа:");
destination.getRange("B25").setValues(dest);
destination.getRange("B25:G25").merge();
dest = destination.getRange("R1:R1").getValues();
destination.getRange("B1:G26").setHorizontalAlignment("center");
destination.getRange("A26").setValue("Данные студента");
destination.getRange("A26:G26").setBackgroundRGB(6,166, 33).merge();
destination.getRange("A27").setValue("ФИО:");
destination.getRange("B27").setValues(dest);
destination.getRange("B27:G27").merge();
dest = destination.getRange("S1:S1").getValues();
destination.getRange("A28").setValue("Номер телефона:");
destination.getRange("B28").setValues(dest);
destination.getRange("B28:G28").merge();
dest = destination.getRange("T1:T1").getValues();
destination.getRange("A29").setValue("e-mail:");
destination.getRange("B29").setValues(dest);
destination.getRange("B29:G29").merge();
dest = destination.getRange("U1:U1").getValues();
destination.getRange("A30").setValue("vk.com:");
destination.getRange("B30").setValues(dest);
destination.getRange("B30:G30").merge();
destination.getRange("B27:G30").setHorizontalAlignment("left");
destination.getRange("C1:W1").clear();
destination.getRange("B1:G1").merge();
destination.getRange("A31:G31").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A32").setValue("Исполнитель");
destination.getRange("A32:G32").setBackgroundRGB(255, 255, 0).merge();
destination.getRange("A33").setValue("Стоимость работы для клиента:").setFontSize(12).setFontWeight("bold");
destination.getRange("B33").setValue("0").setFontColor("red").setHorizontalAlignment("center").setFontSize(12);
destination.getRange("B33:G33").merge();
destination.getRange("A34").setValue("Срок выполнения работы для клиента, раб дней:").setFontSize(12).setFontWeight("bold");
destination.getRange("B34").setValue("0").setFontColor("blue").setHorizontalAlignment("center").setFontSize(12);
destination.getRange("B34:G34").merge();
destination.getRange("A36").setValue("ФИО");
destination.getRange("B36").setValue("ФИО <E-mail>");
destination.getRange("A37").setValue("Стоимость работы");
destination.getRange("A38").setValue("Срок выполнения исполненителя");
destination.getRange("C38").setValue(" - дней");
destination.getRange("B37").setValue("=D37+F37");
destination.getRange("D37").setValue("0");
destination.getRange("C37").setValue(" = ");
destination.getRange("E37").setValue("+");
destination.getRange("F37").setValue("=$B$33-D37").setFontColor("red");
destination.getRange("A35:G35").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A39:G39").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A43:G43").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A47:G47").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A51:G51").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A55:G55").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A59:G59").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A63:G63").setBackgroundRGB(0, 0, 0).merge();
destination.getRange("A67:G67").setBackgroundRGB(0, 0, 0).merge();
dest = destination.getRange("A36:G38").getValues();
destination.getRange("A40:G42").setValues(dest);
destination.getRange("A40").setValue("ФИО");
destination.getRange("B41").setValue("=D41+F41");
destination.getRange("F41").setValue("=$B$33-D41").setFontColor("red");
destination.getRange("A44:G46").setValues(dest);
destination.getRange("B45").setValue("=D45+F45");
destination.getRange("F45").setValue("=$B$33-D45").setFontColor("red");
destination.getRange("A48:G50").setValues(dest);
destination.getRange("B49").setValue("=D49+F49");
destination.getRange("F49").setValue("=$B$33-D49").setFontColor("red");
destination.getRange("A52:G54").setValues(dest);
destination.getRange("B53").setValue("=D53+F53");
destination.getRange("F53").setValue("=$B$33-D53").setFontColor("red");
destination.getRange("A56:G58").setValues(dest);
destination.getRange("B57").setValue("=D57+F57");
destination.getRange("F57").setValue("=$B$33-D57").setFontColor("red");
destination.getRange("A60:G62").setValues(dest);
destination.getRange("B61").setValue("=D61+F61");
destination.getRange("F61").setValue("=$B$33-D61").setFontColor("red");
destination.getRange("A64:G66").setValues(dest);
destination.getRange("A68:G70").setValues(dest);
destination.getRange("B65").setValue("Не делает").setFontColor("red");
destination.getRange("D65").setValue("");
destination.getRange("C65").setValue("");
destination.getRange("E65").setValue("");
destination.getRange("F65").setValue("");
destination.getRange("B69").setValue("Не делает").setFontColor("red");
destination.getRange("D69").setValue("");
destination.getRange("C69").setValue("");
destination.getRange("E69").setValue("");
destination.getRange("F69").setValue("");
var sheet = destination.getSheets()[0];
sheet.setColumnWidth(1, 250);
sheet.setColumnWidth(2, 64);
sheet.setColumnWidth(3, 64);
sheet.setColumnWidth(4, 64);
sheet.setColumnWidth(5, 64);
sheet.setColumnWidth(6, 64);
sheet.setColumnWidth(7, 64);
sheet.setRowHeight(31, 5);
sheet.setRowHeight(35, 5);
sheet.setRowHeight(39, 5);
sheet.setRowHeight(43, 5);
sheet.setRowHeight(47, 5);
sheet.setRowHeight(51, 5);
sheet.setRowHeight(55, 5);
sheet.setRowHeight(59, 5);
sheet.setRowHeight(63, 5);
sheet.setRowHeight(67, 5);
destination.getRange("A1:B33").setBorder(true, true, true, true, true, true);
destination.getRange("A33:A70").setBorder(true, true, true, true, false, false);
destination.getRange("B33:G70").setBorder(true, true, true, true, false, false);
destination.getRange("A32:G32").setBorder(true, true, true, true, false, false);
var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + destination.getId() + "&exportFormat=xlsx";
var params =
{
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions: true
};
var blob = UrlFetchApp.fetch(url, params).getBlob();
blob.setName(fName + ".xlsx");
MailApp.sendEmail(tbEmail, fName, "The XLSX file is attached", {attachments: [blob]});
var targetFiles = DriveApp.getFilesByName("tempCard");
while (targetFiles.hasNext())
{
var tfile = targetFiles.next();
ID = tfile.getId();
DriveApp.removeFile(tfile);
}
}
};
在27.02.2018之前一切正常。 似乎部分代码行没有实现 这部分:
dest = destination.getRange("A36:G38").getValues();
destination.getRange("A40:G42").setValues(dest);
destination.getRange("A40").setValue("ФИО");
destination.getRange("B41").setValue("=D41+F41");
destination.getRange("F41").setValue("=$B$33-D41").setFontColor("red");
destination.getRange("A44:G46").setValues(dest);
destination.getRange("B45").setValue("=D45+F45");
destination.getRange("F45").setValue("=$B$33-D45").setFontColor("red");
destination.getRange("A48:G50").setValues(dest);
destination.getRange("B49").setValue("=D49+F49");
destination.getRange("F49").setValue("=$B$33-D49").setFontColor("red");
destination.getRange("A52:G54").setValues(dest);
destination.getRange("B53").setValue("=D53+F53");
destination.getRange("F53").setValue("=$B$33-D53").setFontColor("red");
destination.getRange("A56:G58").setValues(dest);
destination.getRange("B57").setValue("=D57+F57");
destination.getRange("F57").setValue("=$B$33-D57").setFontColor("red");
destination.getRange("A60:G62").setValues(dest);
destination.getRange("B61").setValue("=D61+F61");
destination.getRange("F61").setValue("=$B$33-D61").setFontColor("red");
destination.getRange("A64:G66").setValues(dest);
destination.getRange("A68:G70").setValues(dest);
destination.getRange("B65").setValue("Не делает").setFontColor("red");
destination.getRange("D65").setValue("");
destination.getRange("C65").setValue("");
destination.getRange("E65").setValue("");
destination.getRange("F65").setValue("");
destination.getRange("B69").setValue("Не делает").setFontColor("red");
destination.getRange("D69").setValue("");
destination.getRange("C69").setValue("");
destination.getRange("E69").setValue("");
destination.getRange("F69").setValue("");
var sheet = destination.getSheets()[0];
sheet.setColumnWidth(1, 250);
sheet.setColumnWidth(2, 64);
sheet.setColumnWidth(3, 64);
sheet.setColumnWidth(4, 64);
sheet.setColumnWidth(5, 64);
sheet.setColumnWidth(6, 64);
sheet.setColumnWidth(7, 64);
sheet.setRowHeight(31, 5);
sheet.setRowHeight(35, 5);
sheet.setRowHeight(39, 5);
sheet.setRowHeight(43, 5);
sheet.setRowHeight(47, 5);
sheet.setRowHeight(51, 5);
sheet.setRowHeight(55, 5);
sheet.setRowHeight(59, 5);
sheet.setRowHeight(63, 5);
sheet.setRowHeight(67, 5);
destination.getRange("A1:B33").setBorder(true, true, true, true, true, true);
destination.getRange("A33:A70").setBorder(true, true, true, true, false, false);
destination.getRange("B33:G70").setBorder(true, true, true, true, false, false);
destination.getRange("A32:G32").setBorder(true, true, true, true, false, false);
我不明白这个原因...这段代码可以长时间正常工作,但不会发生什么事情
结果电子表格表不包含部分行和格式。