我正在尝试创建一个自定义Google表格脚本,当用户选择了一个特定的单元格并点击菜单中的自定义功能按钮时,它会复制该单元格中的数据并使用&将其重新粘贴到同一个单元格中#34;仅限值#34;粘贴选项。理想情况下,对于所选单元格正下方的下一个8个单元格也会这样做。
这甚至可能吗?
答案 0 :(得分:0)
您的第一步是创建一个菜单以在电子表格中运行您的功能。您可以在此处找到文档和示例代码: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);
}