Google表格/ JavaScript粘贴问题

问题描述 投票:0回答:2

我正在使用Google表格copyTo函数。单元格M2:P10中有一些公式正在从另一个工作表中计算值。我只是试图使用copyTo函数将值粘贴到另一张纸上,但是粘贴函数会导致空白输出。我无法弄清楚为什么这里的一切看起来都很好。帮助!

 var id = "1I7Ptwg26W_WrLty9y7U-8c8kGKS9t8aw3SF-M2JwgJ1";
 var ss2 = SpreadsheetApp.openById(id).getSheetByName('Converted Data');
 var ss5 = SpreadsheetApp.openById(id).getSheetByName('PastedConverted');
 ss2.getRange('M2:P10').activate();
 ss2.getRange('M2:P10').copyTo(ss5.getRange("M2:P10"), {contentsOnly:true});

之前:

enter image description here

之后:

enter image description here

javascript google-sheets
2个回答
0
投票

好吧,我不确定为什么这行得通,但是反之则不行,但是我想我会给你有用的东西:

  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('MyPage'), true);
  spreadsheet.getRange('M:AB').activate();
  spreadsheet.getRange('\'MyPage\'!M:AB').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);

0
投票

尽管您已经发布了答案,但我认为解决问题的方法并不是最理想的方法。

仅说明方法copyTo()的工作方式。

您有一个copyTo()范围(要复制的范围),您可以在其中调用origincopyTo()(要复制到的位置)作为输入参数。

target

另外,您可以添加更多选项来仅通过function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var ss1 = ss.getSheets()[0]; var ss2 = ss.getSheets()[1]; var origin = ss1.getRange("A1:A5"); var target = ss2.getRange("A1:A5"); origin.copyTo(target); } 复制所需的内容。

© www.soinside.com 2019 - 2024. All rights reserved.