我刚开始使用apps-script冒险,而我已经陷入困境。
我正在尝试编写脚本,该脚本将在编辑表中的任何单元格时触发,检查该单元格是否在特定范围内(整个列“ O”),然后获取单元格行并将邮件发送给与该行绑定的人。
只要有第一部分和最后一部分,我就很难检查该范围是否包含单元格:
var cell = get.ActiveCell();
var range = ss.getRange("O:O");
但是,几乎没有类似的列具有相似的值,而我只想检查一下,直到获得类似的结果
var ss = getActiveSpreadsheet();
var sheet = ss.getSheetByName("zamówienia");
var cell = get.ActiveCell();
var range =ss.getRange("O:O");
while (i != range.lenght){
if (cell != range[i]) {
i++;
}
else {
break;
return 1;
}
}
答案 0 :(得分:1)
您应该使用onEdit()
简单触发器,然后才能使用关联的event object。
示例:
// This will show a pop up in your spreadsheet whenever you edit a cell in Column O of any sheet
function onEdit(e) {
var columnO = 15;
if (e.range.getColumn() === columnO) {
Browser.msgBox("Column O");
}
}
答案 1 :(得分:0)
如果有人试图解决相同的问题,就可以这样做。在编辑简单触发器上添加了
function sprawdzenie(){
var ss = SpreadsheetApp.getActive();
var activeRow = ss.getActiveCell().getRow();
var activeCol = ss.getActiveCell().getColumn();
if (activeCol === 13){
var klient = SpreadsheetApp.getActiveSheet().getRange("c"+activeRow).getValue();
var data_wys = SpreadsheetApp.getActiveSheet().getRange("H"+activeRow).getValue();
var numer_oferty = SpreadsheetApp.getActiveSheet().getRange("E"+activeRow).getValue();
var kolor = SpreadsheetApp.getActiveSheet().getRange("B"+activeRow).getValue();
var prowadzacy = (SpreadsheetApp.getActiveSheet().getRange('AL'+activeRow).getValue() );
var zejscie = SpreadsheetApp.getActiveSheet().getRange("M"+activeRow).getValue();
var temat = ('Zejście z produkcji ' + numer_oferty + ' wysłanej dnia ' + data_wys);
var wiadomosc = (' Oferta o numerze :' + numer_oferty + ' ' + klient + ' w kolorze : ' + kolor + ' zeszła z dniem : ' + zejscie);
MailApp.sendEmail(prowadzacy, temat, wiadomosc);}