【发布时间】:2019-07-08 12:13:21
【问题描述】:
这段代码涉及三个电子表格
- 代码所在的电子表格
- 称为
unstructuredSheets的源电子表格 - 称为
structuredSpreadsheet的目标电子表格。
指令structuredSheet.activate 似乎没有做任何事情。 structuredSpreadsheet 中的第一张工作表保持活动状态。
任何想法为什么会这样?
function importUnstructuredSpreadsheet2(unstructuredId,structuredId){
//this function uses copy/paste
var ssUnstructured=SpreadsheetApp.openById(unstructuredId);
var numUnstructuredSheets= ssUnstructured.getSheets().length;
var ssStructured=SpreadsheetApp.openById(structuredId );
var numStructuredSheets= ssStructured.getSheets().length;
for (var n = 0; n < numUnstructuredSheets ; n++ ) {
var unstructuredSheets=ssUnstructured.getSheets();
var unstructuredSheet= unstructuredSheets[n];
var structuredSheets= ssStructured.getSheets();
sheetName=unstructuredSheet.getSheetName();
var usedRange = unstructuredSheet.getDataRange();
var structuredSheet=ssStructured.getSheetByName(sheetName);
structuredSheet.activate();
structuredSheet.getRange('A1').activate();// may want to do at starting cell
unstructuredSheet.usedRange.copyTo(structuredSheets.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NO_BORDERS, false);
}//each sheet
【问题讨论】:
-
三张纸是否共享相同的 ID?如果它们具有三个不同的 ID,您可以使用 SpreadsheetApp.openById("id") 来完成。另外,变量 ssStructured 来自哪里?
-
@Jescanellas 在上面的代码中,我添加了 for 循环之前的代码。
-
@Jescanellas 澄清:3 个电子表格,而不是 3 个工作表。 3 个不同的 ID。目标电子表格和源电子表格各有多个工作表。
标签: google-apps-script google-sheets