【发布时间】:2019-06-06 20:17:15
【问题描述】:
我正在管理团队花名册的主文档。目前,我有这个脚本,可以将不同花名册文档的更改添加到主花名册文档。我想用彩色单元格记录对主文档的任何更改。
主工作表运行脚本以将数据从源文档(其他花名册文档)同步到目标文档(主花名册文档)。我想让它突出显示对主文档的任何更改(更改单元格背景颜色)。
对于这个特定项目,更改是通过添加到文档(新的文本行)和对现有数据的更改(现有行更改文本)来定义的。
我不完全确定如何实现 onEdit 触发器。我已经阅读了其他问题的解决方案(即当值更改为另一个特定值时更改颜色)但我没有找到一个脚本可以在一般进行更改时添加颜色(任何更改都不会必须匹配一个特定的值)。
// create menu buttons
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [{
name: "Sync Spreadsheet Data",
functionName: "copyDataToWorkingSpreadsheet"
}];
ss.addMenu("Data Update Functions", menuEntries);
};
// copy data from form sheet to live mapping sheet
function copyDataToWorkingSpreadsheet() {
// source doc
var sss = SpreadsheetApp.openById('Source Doc');
// source sheet
var ss = sss.getSheetByName('teams');
// source sheet
var ss = sss.getSheetByName('players');
// Get full range of data
var SRange = ss.getDataRange();
// get A1 notation identifying the range
var A1Range = SRange.getA1Notation();
// get the data values in range
var SData = SRange.getValues();
// target spreadsheet
var tss = SpreadsheetApp.openById('Target Doc');
// target sheet
var ts = tss.getSheetByName('teams');
// target sheet
var ts = tss.getSheetByName('players');
// set the target range to the values of the source data
ts.getRange(A1Range).setValues(SData);
};
现在脚本就像我需要的那样工作。非常感谢任何实现颜色更改的帮助!
【问题讨论】:
标签: google-apps-script google-sheets triggers gs-conditional-formatting