Google apps script Google脚本复制未激活的工作表

Google apps script Google脚本复制未激活的工作表,google-apps-script,Google Apps Script,在Google电子表格中,我想使用脚本对工作簿中的现有电子表格执行简单的复制/重命名。我在网上找到的所有示例都是从活动电子表格中复制的。如果不首先激活/选择我要复制的电子表格,您不能执行以下任务吗 例如: 我的工作簿包含以下工作表名称:“橙色”、“蓝色” 我想复制一份“蓝色”并将其重命名为“红色”。因此,我现在只剩下3张“橙色”、“蓝色”、“红色”表格,同时将我的活动电子表格保留在“橙色”上。是的,你可以。查看sheet的getSheetByName。 如果出于某种原因,api确实需要复制的工作

在Google电子表格中,我想使用脚本对工作簿中的现有电子表格执行简单的复制/重命名。我在网上找到的所有示例都是从活动电子表格中复制的。如果不首先激活/选择我要复制的电子表格,您不能执行以下任务吗

例如: 我的工作簿包含以下工作表名称:“橙色”、“蓝色”


我想复制一份“蓝色”并将其重命名为“红色”。因此,我现在只剩下3张“橙色”、“蓝色”、“红色”表格,同时将我的活动电子表格保留在“橙色”上。

是的,你可以。查看sheet的getSheetByName。 如果出于某种原因,api确实需要复制的工作表处于活动状态(对此表示怀疑),只需在之前对其调用setActiveSheet即可, .

您可以使用该方法将工作表复制到同一个电子表格中,它将创建一个副本

 var source = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = source.getSheetByName('Blue');

 sheet.copyTo(source).setName('Red');

我认为那是不可能的。你必须激活“蓝色”,复制它,而不是激活“橙色”。你需要进行“深度复制”吗?或者一个值/颜色复制就足够了吗?在第二种情况下,您可以使用getValues/setValues(以及与color、BGcolor等等效的)模式来实现它