问题描述
我对编码非常陌生,并在谷歌应用程序脚本中继承了这段代码。不确定这段代码的问题出在哪里,我在运行它时遇到了这个错误。 类型错误:无法调用未定义的方法“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 (将#修改为@)