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

如何修改Google Script替换Google Sheet超链接中的文件名文本

解决Google Script中超链接显示文本提取问题

核心思路

直接在脚本中通过正则表达式提取文件名末尾的年份-数字格式内容,将其作为超链接的显示文本,无需依赖Sheet函数。

修改后的脚本示例

function importFilesToSheet() {
  const folderId = "你的目标文件夹ID"; // 替换为实际文件夹ID
  const folder = DriveApp.getFolderById(folderId);
  const files = folder.getFiles();
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // 清空原有内容并添加表头
  sheet.clearContents();
  sheet.appendRow(["文件名", "文件链接", "超链接"]);

  while (files.hasNext()) {
    const file = files.next();
    const fileName = file.getName();
    const fileUrl = file.getUrl();
    
    // 提取文件名末尾类似"2023-1"的部分
    const targetText = fileName.match(/\d{4}-\d+$/)?.[0] || fileName;
    
    // 插入带自定义显示文本的超链接
    sheet.appendRow([fileName, fileUrl, `=HYPERLINK("${fileUrl}", "${targetText}")`]);
  }
}

关键细节说明

  • 正则表达式/\d{4}-\d+$/: 精准匹配文件名末尾的**4位年份-数字序列**(如2023-1、2024-12),$`确保匹配的是文件名最后一段内容
  • match()?.[0] || fileName: 可选链操作符避免匹配失败时报错,如果没有找到符合格式的内容,自动用原文件名兜底
  • 若你的文件名格式有变化(比如年份是2位、或目标序列前有分隔符),可调整正则:
    • 例如文件名是项目文档_2023-1,可改用/_(\d{4}-\d+)$/,然后取matchResult[1]
    • 例如目标序列不一定在最后,可去掉$,改用/\d{4}-\d+/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:23:15