Javascript 需要Google脚本将值从一个选项卡复制到另一个选项卡
我正在为我的企业制作记分卡。员工根据其工作年限获得不同的带薪休假。我需要一个脚本,该脚本只将员工的“主”记分卡中的值复制到名为“当前月份”的新工作表中。由于他们的PTO发生变化,我需要一个脚本,将该信息复制到一个新选项卡上,以便原始选项卡不会随着雇佣期的延长而继续改变PTO分数 我已经创建了底部脚本,除了它还复制了所有公式,使PTO分数随着时间的推移而变化之外,它做了所有事情。非常感谢您的帮助Javascript 需要Google脚本将值从一个选项卡复制到另一个选项卡,javascript,google-apps-script,google-sheets,google-drive-api,google-sheets-api,Javascript,Google Apps Script,Google Sheets,Google Drive Api,Google Sheets Api,我正在为我的企业制作记分卡。员工根据其工作年限获得不同的带薪休假。我需要一个脚本,该脚本只将员工的“主”记分卡中的值复制到名为“当前月份”的新工作表中。由于他们的PTO发生变化,我需要一个脚本,将该信息复制到一个新选项卡上,以便原始选项卡不会随着雇佣期的延长而继续改变PTO分数 我已经创建了底部脚本,除了它还复制了所有公式,使PTO分数随着时间的推移而变化之外,它做了所有事情。非常感谢您的帮助 function Copymastersheettoscorecard(){ var date = U
function Copymastersheettoscorecard(){
var date = Utilities.formatDate(new Date(), "GMT-22", "MM/dd/yyyy");
var ss = SpreadsheetApp.openById("1hkmRbHD24X1y8yJFdbd-BPaSyctyHGvyQBy9mi4mDc8");
var dss = SpreadsheetApp.openById("1ooGOPyXLYJrcN0WFH2d65hOODj_Z4DtZu47E6a04VHs");
var Newsheet = ss.getSheetByName("Master Sheet").copyTo(dss).setName(date);
}
有几种选择:
- 将工作表复制到新的电子表格中,然后使用和的组合删除公式:
- 在新电子表格中插入并清空工作表,并直接从原始工作表中复制值,也可以使用
、getDataRange
和setValues
:getValues
- 使用,该选项允许设置仅粘贴值的选项(
)。但是,这种方式需要创建和删除临时工作表(因为它不能用于复制不同电子表格之间的范围),并且也不会保留格式:SpreadsheetApp.CopyPasteType.paste_values
function Copymastersheettoscorecard(){
var date = Utilities.formatDate(new Date(), "GMT-22", "MM/dd/yyyy");
var ss = SpreadsheetApp.openById("SS_ID_1");
var dss = SpreadsheetApp.openById("SS_ID_2");
var Newsheet = ss.getSheetByName("Master Sheet").copyTo(dss).setName(date);
var destRange = Newsheet.getDataRange();
destRange.setValues(destRange.getValues());
}
function Copymastersheettoscorecard(){
var date = Utilities.formatDate(new Date(), "GMT-22", "MM/dd/yyyy");
var ss = SpreadsheetApp.openById("SS_ID_1");
var dss = SpreadsheetApp.openById("SS_ID_2");
var Newsheet = dss.insertSheet(date);
var sourceValues = ss.getSheetByName("Master Sheet").getDataRange().getValues();
Newsheet.getRange(1,1,sourceValues.length,sourceValues[0].length).setValues(sourceValues);
}
function Copymastersheettoscorecard(){
var date = Utilities.formatDate(new Date(), "GMT-22", "MM/dd/yyyy");
var ss = SpreadsheetApp.openById("SS_ID_1");
var dss = SpreadsheetApp.openById("SS_ID_2");
var sourceRange = ss.getSheetByName("Master Sheet").getDataRange();
var Tempsheet = ss.insertSheet("TEMPORARY");
sourceRange.copyTo(Tempsheet.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
Tempsheet.copyTo(dss).setName(date);
ss.deleteSheet(Tempsheet);
}