Перенос скрипта с одного аккаунта в другой

96 views
Skip to first unread message

Романов Сергей

unread,
Jul 24, 2020, 2:13:38 AM7/24/20
to contributor.pw
У меня есть скрипт по отправке писем скриптом на одном из аккаунтов, сделал на другом акке таблицу и код в редакторе скриптов, почту не отправляет, пишет:
typeerror cannot read property 'getrange' of null

В чем может быть проблема?

Alex Dobrov

unread,
Jul 24, 2020, 2:23:59 AM7/24/20
to contributor.pw
В общем так: Ваш скрипт на каком то этапе сценария не смог получить диапазон (видимо из этого диапазона, вы хотите получить данные). А его скрипт не смог получить по причине того, что он пытается вытащить диапазон из нуля. Типа под getRange или getDataRange нужно подложить лист а не null.

Романов Сергей

unread,
Jul 24, 2020, 3:51:42 AM7/24/20
to contributor.pw
Спасибо за ответ, вот скрипт

function sendEmails() {
  try{
    var ss = SpreadsheetApp.getActiveSpreadsheet()
    var sheet = ss.getSheetByName("email")
    var arrData = sheet.getRange("A3:A" + sheet.getLastRow()).getDisplayValues()
    var arrEmails = []
    
    for(var i = 0; i< arrData.length; i++){
      var email = arrData[i][0]
      if(email.length > 1 && email.search("@") > 0){
        arrEmails.push(email)
      }
    }
 
    var emailCount = arrEmails.length
    if(emailCount < 1){
      Browser.msgBox("Внимание", "Нет валидных Emails в списке", Browser.Buttons.OK)
      return
    }
    
    var subject = sheet.getRange("C1").getDisplayValue()
    var tableName = sheet.getName()
    var dopText = sheet.getRange("C2").getDisplayValue()

    
    var isNotOneMail = Boolean(sheet.getRange("C3").getDisplayValue() == "ДА")
    
    var sendEmailCount = 0
    if(isNotOneMail){
      sendEmailCount = sendEmailsSeparate_(emailCount, arrEmails, subject, tableName, dopText)
    } else {
      sendEmailCount = sendEmailsInOne_(emailCount, arrEmails, subject, tableName, dopText)
    }
    
    var remainingEmails = MailApp.getRemainingDailyQuota()
    Browser.msgBox("Внимание!", "Отправлено " + sendEmailCount + 
                   " Emails\\nОстаток квоты на сегодня: " + remainingEmails, Browser.Buttons.OK)
  } catch(error){
    Browser.msgBox(error)
  }
}

пятница, 24 июля 2020 г. в 10:23:59 UTC+4, astri...@gmail.com:

Романов Сергей

unread,
Jul 24, 2020, 3:53:42 AM7/24/20
to contributor.pw
пятница, 24 июля 2020 г. в 11:51:42 UTC+4, Романов Сергей:
Безымянный.jpg

Alexander Ivanov ✔

unread,
Jan 26, 2021, 10:35:17 PM1/26/21
to contributor.pw
Нужно понять, на какой строке это падает.
Reply all
Reply to author
Forward
0 new messages