Google apps script 为什么谷歌应用程序脚本';复制到';用0填充范围方法?
考虑以下代码:Google apps script 为什么谷歌应用程序脚本';复制到';用0填充范围方法?,google-apps-script,google-sheets,google-spreadsheet-api,Google Apps Script,Google Sheets,Google Spreadsheet Api,考虑以下代码: /********************************************************************************************** ** FUNCTION : CarryToThisWeek ** ** PARAM : String lastWeekName, String thisWe
/**********************************************************************************************
** FUNCTION : CarryToThisWeek **
** PARAM : String lastWeekName, String thisWeekName **
** RETUEN : VOID **
** DESC : Copies the carry row of sheet named lastWeekName to B/F row of sheet named **
** thisWeekName. **
**********************************************************************************************/
function CarryToThisWeek(lastWeekName,thisWeekName){
var spreadSheet=SpreadsheetApp.getActiveSpreadsheet();
var lastSheet=spreadSheet.getSheetByName('Oct_06'); // hard-coded the names for testing
var thisSheet=spreadSheet.getSheetByName('Oct_13');
var sourceData = lastSheet.getRange(38, 4, 1, 7);
Logger.log(sourceData.getValues()); //shows the correct values
var destination = thisSheet.getRange(33, 4, 1, 7);
sourceData.copyTo(destination); //fills with 0 <<<<<
//following loop works fine
/*for(col=4;col<=10;col++){
thisSheet.getRange(33, col).setValue(lastSheet.getRange(38, col).getValue());
}*/
}
/**********************************************************************************************
**功能:本周随身携带**
**PARAM:String lastWeekName,String thisWeekName**
**复述:无效**
**DESC:将名为lastWeekName的工作表的携带行复制到名为lastWeekName的工作表的B/F行**
**这个周末很无聊**
**********************************************************************************************/
本周功能执行(上周、本周){
var电子表格=SpreadsheetApp.getActiveSpreadsheet();
var lastSheet=spreadSheet.getSheetByName('Oct_06');//硬编码用于测试的名称
var thisheet=spreadSheet.getSheetByName('Oct_13');
var sourceData=lastSheet.getRange(38,4,1,7);
Logger.log(sourceData.getValues());//显示正确的值
var destination=thisSheet.getRange(33,4,1,7);
sourceData.copyTo(destination);//填充0尝试以下操作:
function CarryToThisWeek(lastWeekName,thisWeekName){
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var lastSheet = spreadSheet.getSheetByName('Oct_06');
var thisSheet = spreadSheet.getSheetByName('Oct_13');
var sourceData = lastSheet.getRange(38, 4, 1, 7).getValues();
thisSheet.getRange(33, 4, 1, 7).setValues(sourceData);
}
好吧,我知道了
谢谢你的观点。
实际上,sourceData
是一个公式字段,并且一直在复制该公式
改成
sourceData.copyTo(destination,{contentsOnly:true});
它正在按预期工作
我认为copyValueStorRange()
也会起作用。从各个方面来看,我有时会错过这个-是sourceData公式字段。谢谢你的回答。我知道这会起作用。但实际上我想知道我的代码中copyTo
方法的错误。