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

如何用Google Apps Script将谷歌表格评论转为备注?

解决谷歌表格评论转备注(含评论者)的正确方法

你的代码有几个关键问题导致失败:

  • getComment() 只能读取旧版的单条评论,新版表格支持的多条评论根本拿不到
  • comment.getRange().getValue() 是读取单元格里的原始数据,不是评论内容,完全搞错了
  • 没有提取评论者名称的逻辑

下面是修正后的代码,能批量把单元格的所有评论(含评论者)追加到对应单元格的备注里,同时保留原有数据和旧备注:

function convertCommentsToNotes() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const dataRange = sheet.getDataRange();
  const rows = dataRange.getNumRows();
  const cols = dataRange.getNumColumns();

  // 遍历每个单元格
  for (let row = 1; row <= rows; row++) {
    for (let col = 1; col <= cols; col++) {
      const cell = sheet.getRange(row, col);
      // 获取单元格现有备注
      let existingNote = cell.getNote() || "";
      // 获取该单元格的所有新版评论
      const comments = cell.getComments();

      // 遍历每条评论,提取评论者和内容
      if (comments.length > 0) {
        // 如果原有备注不为空,加换行分隔
        if (existingNote) {
          existingNote += "\n\n---\n\n";
        }
        // 拼接所有评论内容(带评论者、时间)
        comments.forEach(comment => {
          const author = comment.getAuthor().getEmail() || comment.getAuthor().getName();
          const commentText = comment.getContent();
          const timestamp = comment.getDate().toLocaleString();
          existingNote += `【${author}】 ${timestamp}\n${commentText}\n\n`;
        });
        // 更新单元格备注
        cell.setNote(existingNote.trim());
        // 可选:如果需要处理完删除评论,解开下面这行注释
        // cell.deleteComments();
      }
    }
  }
  SpreadsheetApp.getUi().alert("评论转备注完成!");
}

代码关键点说明

  • 用 getComments() 获取单元格的所有新版评论,支持单条或多条评论的读取
  • 通过 comment.getAuthor() 提取评论者的邮箱/名称,getContent() 获取评论内容,getDate() 获取评论时间
  • 把评论格式化为「【评论者】 时间\n内容」的清晰格式,和原有备注用分隔线区分,避免混乱
  • 完全保留原有备注内容,不会覆盖
  • 可选删除评论的逻辑,按需启用即可

使用步骤

  1. 打开目标谷歌表格
  2. 点击「扩展程序」→「Apps 脚本」
  3. 替换原有代码为上述代码
  4. 点击运行,首次运行需要完成权限授权
  5. 处理完成后会弹出提示框

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:53:12