In following example playgroundSheet is globally defined. When run as below with the BH2, BL2:
function testDates(DateLow, DateHigh) {
var now = playgroundSheet.getRange('BH2').getValue();;
var nowMilli = Number(now.getTime()).toFixed(0);
var targetDate = playgroundSheet.getRange('BL2').getValue();
var targetDateMilli = Number(targetDate.getTime()).toFixed(0);
var durationMilli = targetDateMilli - nowMilli;
// return numberOfDays
Logger.log(now);
Logger.log(nowMilli);
Logger.log(targetDate);
Logger.log(targetDateMilli);
Logger.log(durationMilli/day);
}
I get the results I desire:
11:00:18 AM Notice Execution started
11:00:20 AM Info Wed Jun 08 00:00:00 GMT-04:00 2022
11:00:20 AM Info 1654660800000
11:00:20 AM Info Sun Jun 12 00:00:00 GMT-04:00 2022
11:00:20 AM Info 1655006400000
11:00:20 AM Info 4.0
11:00:20 AM Info null
11:00:20 AM Info Wed Jun 08 00:00:00 GMT-04:00 2022
11:00:20 AM Info 1654660800000
11:00:20 AM Info Sun Jun 12 00:00:00 GMT-04:00 2022
11:00:20 AM Info 1655006400000
11:00:20 AM Info 4.0
11:00:19 AM Notice Execution completed
But run by call to the function:
var numberOfDays = testDates('BH2','BL2');
Logger.log(numberOfDays);
function testDates(DateLow, DateHigh) {
var now = playgroundSheet.getRange(DateLow).getValue();;
var nowMilli = Number(now.getTime()).toFixed(0);
var targetDate = playgroundSheet.getRange(DateHigh).getValue();
var targetDateMilli = Number(targetDate.getTime()).toFixed(0);
var durationMilli = targetDateMilli - nowMilli;
return numberOfDays;
I get the following:
10:28:03 AM Notice Execution started
10:28:03 AM Info null
10:28:03 AM Error
Exception: Argument cannot be null: a1Notation
testDates @ Code.gs:13
where line 13 is
var now = playgroundSheet.getRange(DateLow).getValue();```
I have tried passing the (row, col, #row, #col) syntax with no joy and am out of ideas.
Via Active questions tagged javascript - Stack Overflow https://ift.tt/Lsq4CA9
Comments
Post a Comment