我正在尝试创建一个自定义 Google Sheets 脚本,当用户选择特定单元格并点击菜单中的自定义功能按钮时,它会复制该单元格中的数据,并使用“仅值”粘贴选项。理想情况下,它也会对所选单元格正下方的接下来 8 个单元格执行相同的操作。
这可能吗?
最佳答案
您的第一步是创建一个菜单来运行电子表格中的函数。您可以在此处找到文档和示例代码:https://developers.google.com/apps-script/guides/menus?hl=en
接下来,您只需使用几种方法即可完成此任务(用结果或“仅值”替换公式)。
您需要 getActiveRange
方法、getValues
方法和 setValues
方法。由于 getValues 方法不复制公式,因此您只需将结果设置回事件范围即可。这些方法的文档位于:SpreadsheetApp
您可以在包含下面 8 个单元格的范围内进行硬编码,但在此函数中,它只使用突出显示的单元格范围,这更直观(我认为)并且更通用。
您的代码可能如下所示:
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('Values Only', 'valuesOnlyFunction')
.addToUi();
}
function valuesOnlyFunction() {
var activeRange = SpreadsheetApp.getActiveRange();
var activeRangeArr = activeRange.getValues();
activeRange.setValues(activeRangeArr);
}
关于javascript - 尝试编写自定义复制/粘贴 Google 表格脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34185104/