如何从谷歌电子表格中的另一张工作表中获取带有文本的彩色单元格?



如何在谷歌电子表格中获取带有另一张工作表文本的彩色单元格?

嗨,我有 2 张纸,我正在尝试将带有文本的彩色单元格从工作表 1 获取到工作表 2。

请问有人可以帮我吗?

例:

在工作表 1 中,我将数据放在第 1 列第 1 行中,然后对其进行着色 同时,它将出现在工作表 2 第 1 列第 1 行中。

复制所有内容

如果要复制所有内容,包括Range值,颜色,背景颜色等 - 请使用简单的copyTo()方法。请记住,Range维度应该相等(ofc,您可以随时添加处理来说明这一点)。

/**
* Copies all;
* @param {Range} source copy from range;
* @param {Range} target copy to range;
*/
function copyAll(source,target) {
source.copyTo(target);
}

条件复制

如果你只想复制Range的特定属性,上面提到的copyTo()方法可以用CopyPasteType枚举调用,像这样(请注意,由于与双参数调用copyTo(range,options)冲突,转置 arg 是必要的 - 如果你不希望方向改变,你可以在函数中对其进行硬编码):

/**
* Copies only specific props;
* @param {Range} source copy from range;
* @param {Range} target copy to range;
* @param {String} type enum CopyPasteType;
* @param {Boolean} transposed change orientation or not;
*/
function copyConditional(source,target,type,transposed) {
var t = SpreadsheetApp.CopyPasteType[type];
source.copyTo(target,t,transposed); //if transpose is not specified, will be treated as copyTo(destination,options)!;
}

通过吸气剂和二传器复制

例如,分别使用getBackgrounds()setBackgrounds()(还有很多其他的 getter-setter 方法可以单独使用而不是copyTo(),请参阅有用链接中的Range参考)。

/**
* Copies background color;
* @param {Range} source copy from range;
* @param {Range} target copy to range;
*/
function copyColor(source,target) {
var color = source.getBackgrounds();  
target.setBackgrounds(color);
}

有用的链接

  1. copyTo()参考;
  2. CopyPasteType枚举引用;
  3. Range类参考;

最新更新