Как обновить существующий лист Google в каждой строке, если условие выполнено с помощью скрипта приложения Google - PullRequest
0 голосов
/ 01 февраля 2019

Мне удалось получить электронную почту и вставить ее в листы Google со ссылочной ссылкой: https://gist.github.com/takvol/0a0dd9b089314bc5463eaf6af83fa060.

Итак, после заполнения листа, скажем, 100 строк (столбец A - H) и последний столбец (I), Я хочу обновить статус (столбец I) каждой строки и получить данные из разных адресов электронной почты, если условие достигнуто со справочным значением из столбца H. Возможно ли это?Если возможно, то как?

function extractData(data, startStr, endStr) {
  var startIndex, endIndex, text = '';

  startIndex = data.indexOf(startStr);

  if (startIndex != -1) {
    startIndex += startStr.length;
    text = data.substring(startIndex);

    if (endStr) {
      endIndex = text.indexOf(endStr);

      if (endIndex != -1) {
        text = text.substring(0, endIndex);
      } else {
        text = '';
      }
    }
  }
  return text;
}

function retrieveWd() {
  var start = 0;
  var sheet, threads, labelName, label, emptype, worker, fullname, loc, dept, job, mgr, startdate, email, asset;

  sheet = SpreadsheetApp.getActive().getSheetByName("allocations");
  threads = GmailApp.search('in:inbox', start, 100);

  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getFirstMessageSubject().search("New Hire - IT Onboarding") > -1) {
      var message = threads[i].getMessages()[0];
      var content = message.getPlainBody();

      if (content) {
        var emp = extractData(content, "Employee Type: ", "\n");
        Logger.log(emp[0]);
        if (emp != '') {
          emptype = extractData(content, "Employee Type: ", "\n"),
            worker = extractData(content, "Workday Employee ID: ", "\n"),
            fullname = extractData(content, "Full Name: ", "\n"),
            loc = extractData(content, "Location: ", "\n"),
            dept = extractData(content, "Department/ Team: ", "\n"),
            job = extractData(content, "Business Title: ", "\n"),
            mgr = extractData(content, "Manager's Email: ", "\n"),
            startdate = extractData(content, "Start Date: ", "\n"),
            email = extractData(content, "Email address : ", "\n"),
            asset = extractData(content, "Asset No : ", "\n");
          sheet.appendRow(['', '', emptype, worker, fullname, '', loc, dept, job, mgr, startdate, '', email, asset]);
        } else if (emp == '') {
          worker = extractData(content, "Worker ID: ", "\n"),
            fullname = extractData(content, "Full Name: ", "\n"),
            loc = extractData(content, "Location: ", "\n"),
            dept = extractData(content, "Department/Team: ", "\n"),
            job = extractData(content, "Business Title: ", "\n"),
            mgr = extractData(content, "Manager's Email: ", "\n"),
            startdate = extractData(content, "Start Date: ", "\n"),
            email = extractData(content, "Email address : ", "\n"),
            asset = extractData(content, "Asset No : ", "\n");
          sheet.appendRow(['', '', 'Temporary', worker, fullname, '', loc, dept, job, mgr, startdate, '', email, asset]);
        }

        Utilities.sleep(500);
      }
    }
  }
}

enter image description here

Я хочу обновить квитанцию, полученную из электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...