Заменить кому на точку - Google Sheet не находит функцию замены - PullRequest
2 голосов
/ 30 сентября 2019

Гугл листы не находит замену функции. Что не так в моем коде? Сообщение об ошибке: enter image description here

function uptimeCheck() {
var ss = SpreadsheetApp.openById("XXXX");
var sheet = ss.getSheetByName('Tabellenblatt1');
var uptime_string = sheet.getRange("E5").getValue();
  var uptime_zahl = uptime_string.replace(",", ".");
  //Utilities.sleep(1120000);//hier wird acht Minuten gewartet, Zeit in Millisekunden
var uptime_new_string = sheet.getRange("E5").getValue();
  var uptime_new_zahl = uptime_new_string.replace(/,/g , ".");

  if (uptime_zahl != uptime_new_zahl)
  {
    var emailAddress = 'XXX';
    var subject = 'Der Bot läuft nicht';
    var message = 'Die uptime hat sich nicht verändert';
    MailApp.sendEmail(emailAddress, subject,message);
  }

}

1 Ответ

1 голос
/ 30 сентября 2019

Проблема

В сообщении об ошибке четко указано, что в объекте 1.3 ... нет метода replace(). Это означает, что значение, переданное uptime_string, не относится к типу string (скорее всего, оно относится к типу number в вашем случае), которое не имеет метода replace().

Решение

Убедитесь, что значение является строкой с методом toString() (это только один из возможных способов обеспечить значение string, например, вы можете захотеть обработать Dateзначения по-разному и т. д.):

uptime_string = sheet.getRange("E5").getValue().toString();

Примечания

  1. Возможно, вы захотите сделать то же самое с uptime_new_string, так как он может страдать от того жевыпуск.
...