我有一个有效的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();
想知道是否还有其他人遇到此问题,如何确定未将值粘贴为“正在加载...”?
答案 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});
}