gpt4 book ai didi

javascript - 如何修复代码以删除公式,但在所有工作表中保留指定值

转载 作者:行者123 更新时间:2023-11-29 10:55:26 25 4
gpt4 key购买 nike

除了 Base DataTemplate 之外,我想删除所有工作表中的公式并粘贴值。

function myFunction() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
for(var s in allsheets){
var sheet = allsheets[s];
if(
(sheet.getSheetName() == "Base Data") ||
(sheet.getSheetName() == "Template")
);
function removeFormulas() {
SpreadsheetApp.getActive().getSheets()
.forEach(function (sh) {
var r = sh.getDataRange()
r.copyTo(r, {
contentsOnly: true
})
})
}
}
}

理想的结果是单独保留 Base DataTemplate 中的公式,但将其他选项卡中的公式删除并保留值。

最佳答案

未经测试 - 但它可能会提供一些想法。

主要区别是测试工作表名称不等于您列出的工作表,然后所有其他工作表都应该有副本,只有内容。


function myFunction() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
for(var s in allsheets){
var sheet = allsheets[s];
if(sheet.getSheetName() != "Base Data" || sheet.getSheetName() != "Template") {

var thissheet = ss.getSheetbyName(sheet.getSheetName());
var lR = thissheet.getLastRow();
var LC = thissheet.getLastColumn();
var range = thissheet.getRange(1,1,LR,LC);
range.copyTo(range, {contentsOnly: true});

}
}
}

更新:以下脚本已经按照 OP 的预期进行了测试和运行。 copyTo 方法中排除了工作表“基础数据”和"template"。

有几点需要注意:

  • if 语句将“基础数据”和"template"的测试与 AND 而不是 OR 结合起来。所需的逻辑是确定当前工作表名称既不是命名工作表。 AND 具有将其视为一个整体的效果; OR 具有允许一个或另一个为真的效果,但不强制要求它们都为真。
  • 我错误地包含了 getSheetbyName()。这是不必要的,因为循环已经为工作表创建了上下文。

function so5850593801() {

// setup spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();

// get all the sheets
var allsheets = ss.getSheets();

// loop through the sheets
for(var s in allsheets){
var sheet = allsheets[s];
var sheetname = sheet.getSheetName();

// don't process Base data or Template
if(sheetname !== "Base Data" && sheetname !== "Template") {
var LR = sheet.getLastRow();
var LC = sheet.getLastColumn();
var range = sheet.getRange(1,1,LR,LC);
range.copyTo(range, {contentsOnly: true});
}
}
}

关于javascript - 如何修复代码以删除公式,但在所有工作表中保留指定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com