You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Google Apps Script生成的日历事件描述包含Sheet表头与对应值?

解决Google Apps Script中日历事件描述显示「表头:对应值」的问题

没问题,我来帮你调整这段代码,让日历事件的描述自动显示「表单表头:对应值」的格式!

方法一:直接硬编码字段(适合字段固定的情况)

你可以直接在拼接描述的时候,把每个表单字段的名称和对应值组合起来,替换原来的options部分就行:

function createDayEvent(eventObject) { 
  if (eventObject.allDay == 'Yes') { 
    var calendar = CalendarApp.getCalendarById(GLOBAL.calendarId), 
        title = eventObject.title, 
        startDate = moment(eventObject.startDate).toDate(), 
        endDate = moment(eventObject.endDate).toDate(); 

    // 修改这里的描述拼接逻辑
    var options = {
      description : eventObject.description +'\n' + 
                    'formquestion1: ' + eventObject.formquestion1 + '\n' + 
                    'formquestion2: ' + eventObject.formquestion2 + '\n' + 
                    'formquestion3: ' + eventObject.formquestion3
    }; 

    var event = calendar.createAllDayEvent(title, startDate, endDate, options); 
    return event;
  }
}

这样生成的描述就会是:

原描述内容
formquestion1: Test
formquestion2: Test1
formquestion3: Test2

方法二:动态生成(适合字段可能增加的情况)

如果以后表单可能添加新的字段,不想每次都改代码,可以先把所有表单字段名存在一个数组里,然后循环拼接,这样更灵活:

function createDayEvent(eventObject) { 
  if (eventObject.allDay == 'Yes') { 
    var calendar = CalendarApp.getCalendarById(GLOBAL.calendarId), 
        title = eventObject.title, 
        startDate = moment(eventObject.startDate).toDate(), 
        endDate = moment(eventObject.endDate).toDate(); 

    // 定义所有表单字段的名称数组
    var formFieldNames = ['formquestion1', 'formquestion2', 'formquestion3'];
    // 先保留原来的描述内容
    var descriptionLines = [eventObject.description];

    // 循环每个字段,拼接成「表头:值」的格式
    formFieldNames.forEach(function(fieldName) {
      // 确保字段有值才添加,避免空行
      if (eventObject[fieldName]) {
        descriptionLines.push(`${fieldName}: ${eventObject[fieldName]}`);
      }
    });

    // 把所有行用换行符连接
    var options = {
      description: descriptionLines.join('\n')
    }; 

    var event = calendar.createAllDayEvent(title, startDate, endDate, options); 
    return event;
  }
}

小提醒

我注意到你原来的代码最后少了闭合的大括号,上面的代码已经帮你补上了,不然运行的时候会报语法错误哦~

内容的提问来源于stack exchange,提问作者chillsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:46:42