首页 > 解决方案 > 如何确定 var 是否为空并在 GAS 中设置新值?

问题描述

我有列(行 [8])。如果单元格为空,我希望时间为 = 0 - 否则我希望单元格中的实际值。我有一些变化:

IF(times<>""){times==(row[8])} ELSE {(times=="0")}
IF(times==""){times==(row[8])} ELSE {(times=="0")}
IF(times=="NULL"){times==(row[8])} ELSE {(times=="0")}

什么是正确的语法?

function exportEvents() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var headerRows = 1;  
  var range = sheet.getDataRange();
  var data = range.getValues();
  var calId = '....';
  var cal = CalendarApp.getCalendarById(calId);
  for (i in data) {
    if (i < headerRows) continue; 
    var row = data[i];
    var date = new Date(row[0]);
    var title = row[1];
    var tstart = setTimeToDate(date,row[2]);
    var tstop = setTimeToDate(date,row[3]);
    Logger.log('date = '+date+'tstart = '+tstart+'  tstop = '+tstop);
    var loc = row[4]; 
    var desc = row[5];
    var type = row[6];
    var NewWeekday = row[7];
    var times = row[8]   
    var id = row[9];      
    var enddate = new Date(row[10]);   

标签: google-apps-script

解决方案


试试这个:

times=(row[8])?row[8]:0;

试试这个:

function exportEvents() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var headerRows = 1;  
  var range=sheet.getDataRange();
  var data=range.getValues();
  var calId = '....';
  var cal=CalendarApp.getCalendarById(calId);
  for (var i=1;i<data.length;i++) {
    var row = data[i];
    var date = new Date(row[0]);
    var title = row[1];
    var tstart = setTimeToDate(date,row[2]);
    var tstop = setTimeToDate(date,row[3]);
    var loc = row[4]; 
    var desc = row[5];
    var type = row[6];
    var NewWeekday = row[7];
    var times = row[8]   
    var id = row[9];      
    var enddate = new Date(row[10]);   

推荐阅读