如何修复错误 ---- TypeError:无法调用未定义的方法“getDate”

问题描述

我对编码非常陌生,并在谷歌应用程序脚本中继承了这段代码。不确定这段代码的问题出在哪里,我在运行它时遇到了这个错误。 类型错误:无法调用未定义的方法“getDate”。 newDate @ Code.gs:140(第 140 行是 var day = date.getDate()) pltCalculator @ Code.gs:97(第 97 行是 this.welcomeAPS = newDate(sDate,0)

function onEdit(e){

  Logger.log(e)
  try{
      var sheetName = e.source.getActiveSheet().getName()
      var currentSheet = mtl.getSheetByName(sheetName)
      var entryRow = e.range.getRow()
      var entryDate = e.range.getValue()
      var protection = currentSheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0]
      switch(sheetName) {
        case 'plt':
          if(e.range.getColumn()==3 && e.range.getValue() instanceof Date ){
            var plt = new pltCalculator(entryDate)
            var pltArr = new Array() 
            pltArr[0] = plt.apsstart
            pltArr[1] = plt.welcomeAPS
            pltArr[2] = plt.provisioning
            pltArr[3] = plt.apsPrerequisite
            pltArr[4] = plt.apsDeadline
            pltArr[5] = plt.sixteenEval
            pltArr[6] = 'input date'
            pltArr[7] = plt.sisxteenDeadline
            pltArr[8] = plt.apsGrad
            pltArr[9] = plt.apsGradEmail
            pltArr[10] = 'input date'
            pltArr[11] = plt.apsSurvey
            pltArr[12] = plt.apsSurveySecond
            pltArr[13] = plt.peaStart
            pltArr[14] = plt.welcomePEA
            pltArr[15] = plt.peaPrerequisite
            pltArr[16] = plt.peaOne
            pltArr[17] = plt.peaTwo
            pltArr[18] = plt.peaThree
            pltArr[19] = plt.peaFour
            pltArr[20] = plt.peaFive
            pltArr[21] = plt.peaSix
            pltArr[22] = 'input date'
            pltArr[23] = plt.peaGrad
            pltArr[24] = plt.peaGradEmail
            pltArr[25] = plt.bTenEmail
            pltArr[26] = plt.bTenEmailDeadline
            pltArr[27] = 'input date'
            pltArr[28] = 'input date'
            pltArr[29] = plt.peaGradSurveyDealine
            pltArr[30] = 'input date'
            pltArr[31] = plt.welcomePLA
            pltArr[32] = plt.plaStart
            pltArr[33] = plt.plaPrerequisite
            pltArr[34] = plt.plaOne
            pltArr[35] = plt.plaTwo
            pltArr[36] = plt.plaThree
            pltArr[37] = plt.plaFour
            pltArr[38] = plt.plaFive
            pltArr[39] = plt.plaMast
            pltArr[40] = plt.accomplishment
            pltArr[41] = 'input date'
            pltArr[42] = plt.plaGrad
            pltArr[43] = 'input date'
            pltArr[44] = plt.plaGradSurvey
            pltArr[45] = 'input date'
            pltArr[46] = 'input date'
            pltArr[47] = 'input date'
            pltArr[48] = 'input date'
            pltArr[49] = 'input date'
            pltArr[50] = plt.pltGradSurvey
            pltArr[51] = plt.pltGradSurveyDeadline
            pltArr[52] = plt.pltGrad
            currentSheet.protect().setWarningOnly(false)
            currentSheet.getRange(entryRow,4,1,53).setValues([pltArr])
            currentSheet.protect().setWarningOnly(true)       
          }
          break; 
    }
  }
  catch(e){
    Logger.log(e)
  }
}

function pltArrCalc(arr){
  var pltSheet = mtl.getSheetByName('plt')  
  arr.forEach(function(sDate){
    
  })
}

function pltCalculator(sDate){
 
    this.apsstart = sDate
    this.welcomeAPS = newDate(sDate,0)
    this.provisioning = newDate(sDate,7)
    this.apsPrerequisite = newDate(sDate,14)
    this.apsDeadline = newDate(sDate,98)
    this.sixteenEval = newDate(sDate,112)
    this.sisxteenDeadline = newDate(sDate,112)
    this.apsGrad = newDate(sDate,126)
    this.apsGradEmail = newDate(sDate,126)
    this.apsSurvey = newDate(sDate,129)
    this.apsSurveySecond = newDate(sDate,136)
    this.peaStart = newDate(sDate,140)
    this.welcomePEA = newDate(sDate,140)
    this.peaPrerequisite = newDate(sDate,147)
    this.peaOne = newDate(sDate,175)
    this.peaTwo = newDate(sDate,210)
    this.peaThree = newDate(sDate,245)
    this.peaFour = newDate(sDate,280)
    this.peaFive = newDate(sDate,315)
    this.peaSix = newDate(sDate,350)
    this.peaGrad = newDate(sDate,365)
    this.peaGradEmail = newDate(sDate,365)
    this.bTenEmail = newDate(sDate,365)
    this.bTenEmailDeadline = newDate(sDate,372)
    this.peaGradSurveyDealine = newDate(sDate,372)
    this.welcomePLA = newDate(sDate,365)
    this.plaStart = newDate(sDate,366)
    this.plaPrerequisite = newDate(sDate,372)
    this.plaOne = newDate(sDate,395)
    this.plaTwo = newDate(sDate,425)
    this.plaThree = newDate(sDate,455)
    this.plaFour = newDate(sDate,485)
    this.plaFive = newDate(sDate,515)
    this.plaMast = newDate(sDate,522)
    this.accomplishment = newDate(sDate,529)
    this.plaGrad = newDate(sDate,547)
    this.plaGradSurvey = newDate(sDate,554)
    this.pltGradSurvey = newDate(sDate,670)
    this.pltGradSurveyDeadline = newDate(sDate,677)
    this.pltGrad = newDate(sDate,730)
}
    
//calculate the due dates for each assignment in the constructor    
function newDate(date,plusDays){
  var day =  date.getDate()
  var month = date.getMonth()
  var year = date.getFullYear()
  
  var newDate = new Date(year,month,day+plusDays)
  
  return newDate  
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)