我试图搜索很多并找到了各种建议,但没有一个能为我正常工作。
我有4个单独的Google电子表格(由我自己拥有),我们团队中的各个成员都会更新。我想构建一个组合电子表格,自动更新它们更改的值(单元格的值和颜色,因为我们对各种项目进行颜色编码)。
我已尝试Importrange
(有效但不带格式化),以及尝试copyValuesandFormatting
和copyFormatting
。我提出的问题是CopyValuesandFormatting
只会填写第一个选项卡,而脚本的下一部分将无效。有谁知道我的问题可能是什么?我一直在处理的脚本部分如下(只是尝试将两张表合并到一起,这样做无效)。
function copyValuesandFormatting() {
var ss = SpreadsheetApp.openById("OtherSheetURL1");
var sourceSheet = ss.getSheetByName("Jayson");
var ss2 = SpreadsheetApp.openById("CombinedSheetURL");
var targetSheet = ss2.getSheetByName("Jayson");
var fromRange = ss.getRange("A1:Z50");
var toRange = ss2.getRange("A1:Z50");
var values = fromRange.getValues();
var fontColors = fromRange.getFontColors();
var backgrounds = fromRange.getBackgrounds();
var fonts = fromRange.getFontFamilies();
var fontWeights = fromRange.getFontWeights();
var fontStyles = fromRange.getFontStyles();
toRange.setBackgrounds(backgrounds);
toRange.setFontColors(fontColors);
toRange.setValues(values);
toRange.setFontFamilies(fonts);
toRange.setFontWeights(fontWeights);
toRange.setFontStyles(fontStyles);
}
function copyValuesandFormatting() {
var ss3 = SpreadsheetApp.openById("OtherSheetURL2");
var sourceSheet = ss3.getSheetByName("Robin");
var ss4 = SpreadsheetApp.openById("CombinedSheetURL");
var targetSheet = ss4.getSheetByName("Robin");
var fromRange = ss3.getRange("A1:Z50");
var toRange = ss4.getRange("A1:Z50");
var values = fromRange.getValues();
var fontColors = fromRange.getFontColors();
var backgrounds = fromRange.getBackgrounds();
var fonts = fromRange.getFontFamilies();
var fontWeights = fromRange.getFontWeights();
var fontStyles = fromRange.getFontStyles();
toRange.setBackgrounds(backgrounds);
toRange.setFontColors(fontColors);
toRange.setValues(values);
toRange.setFontFamilies(fonts);
toRange.setFontWeights(fontWeights);
toRange.setFontStyles(fontStyles);
}
答案 0 :(得分:0)
看起来我能够在每张原始工作表中使用CopyTo,让它在今天早上起作用。
function copyTo( {
//gets and formats data ranges, to and from sheets.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var target = SpreadsheetApp.openById("DestinationURL");
var source_sheet = ss.getSheetByName("Jayson");
var target_sheet = target.getSheetByName("Jayson");
var source_range = source_sheet.getRange("A1:Z100");
var target_range = target_sheet.getRange("A1:Z100");
//gets then writes values defined in setup
var values = source_range.getValues();
var values = source_range.getValues();
var fontColors = source_range.getFontColors();
var backgrounds = source_range.getBackgrounds();
var fonts = source_range.getFontFamilies();
var fontWeights = source_range.getFontWeights();
var fontStyles = source_range.getFontStyles();
target_range.setValues(values);
target_range.setBackgrounds(backgrounds);
target_range.setFontColors(fontColors);
target_range.setValues(values);
target_range.setFontFamilies(fonts);
target_range.setFontWeights(fontWeights);
target_range.setFontStyles(fontStyles);
//for checking last row with data in cell and formatting range
var lastRow = source_sheet.getLastRow();