复制/粘贴公式值显示为“正在加载...”

时间:2019-07-11 20:19:30

标签: javascript google-apps-script google-sheets google-sheets-formula

我有一个有效的Google Script宏,该宏可复制数据透视表/公式并将其作为值粘贴到另一个范围中。

这可以正常运行,但是有时粘贴的值显示为“正在加载...”。我的猜测是复制/粘贴之间存在一定的延迟或延迟,但是如何确保复制/粘贴将确保粘贴之前已加载值?

我尝试添加定时延迟函数(Utilities.sleep(1000))和SpreadsheetApp.flush(),但结果不一致。将它们放置在粘贴功能之后的行中。参见下面的代码:

var sourceRange = sheet.getRange("A:C"); //copy table from  
var destRange = sheet.getRange("D:F"); //copy table to
sourceRange.copyTo(destRange, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
sourceRange.copyTo(destRange,{contentsOnly:true});
SpreadsheetApp.flush();

想知道是否还有其他人遇到此问题,如何确定未将值粘贴为“正在加载...”?

1 个答案:

答案 0 :(得分:0)

这有效:

function runOne() {
  var ss=SpreadsheetApp.getActive();
  var sheet=ss.getActiveSheet();
  var sourceRange = sheet.getRange('A1').getDataRegion(); 
  var destRange = sheet.getRange('D1'); 
  sourceRange.copyTo(destRange,{contentsOnly:true});
}