锁定工作表然后导出 URL 参考资料

问题描述

这里绝对是菜鸟,只是尝试自动化我们目前在 Google 表格之间手动执行的流程。

我想将脚本附加到按钮上,按下时执行以下操作 -

  • “锁定”vlookup 或冻结单元格的内容。 (我对随时间变化的材料使用单独的价格表。当报价被接受时,我希望能够“锁定”已经从另一张表中提取的数据,因此客户只需支付他们的费用已被引用。

  • 将当前工作表 URL(或 ID)导出到另一个工作表。我有一个“仪表板”表,我们将其用作所有其他表的概览。按下按钮后,我想将当前工作表添加到我们在仪表板工作表上监控的工作表列表中。本质上,我希望能够提取我们刚刚按下按钮的工作表的网址,并将该网址(或 ID)添加到另一个工作表上的列表中。

希望这是有道理的!非常感谢任何帮助。

解决方法

这会让你开始。 copyUrl 函数会将 url 粘贴到 B 列的第一个空行,您可以通过更改代码行 12 上的 2 来更改列。

function freeze(){
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const activeSheet = ss.getActiveSheet();
  activeSheet.getDataRange().copyTo(activeSheet.getDataRange(),{contentsOnly:true});
}

function copyUrl(){
  const targetSheetId = 'xxxxxx';
  const targetSheetName = 'sheetname';
  const currentUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl();
  const target = SpreadsheetApp.openById(targetSheetId).getSheetByName(targetSheetName);
  target.getRange(target.getLastRow()+1,2).setValue(currentUrl);
}

参考资料