【发布时间】:2021-12-19 20:19:56
【问题描述】:
我有执行以下操作的代码:
- 从第一个工作表“OTW Sheet”收集值
- 按 ID 打开另一个现有工作表 - “发票”
- 在“发票”中设置从“OTW 表”复制的值
- 在云端硬盘应用中创建一个新的电子表格并将“发票”复制到新的电子表格中。
这一切都很好,但下一步是删除新创建的电子表格中名为“Sheet1”的工作表。这部分我无法开始工作。没有出现错误,只是删除工作表失败。
代码如下:
function myFunction() {
var orderSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("OTW Sheet");
var row = OrderSheet.getLastRow();
var values1 = OrderSheet.getRange(row, 5).getValue();
var cost1 = OrderSheet.getRange(1, 16).getValue();
var invoice = SpreadsheetApp.openById("19wv72wCNsPV6_hK8XCRcMBkfzEEU1IrJB6scuPz2Vfo");
invoice.getSheetByName("BLANK");
var newsheet = Invoice.getActiveSheet();
newsheet.getRange(17, 7).setValue(cost1);
newsheet.getRange(1, 15).setValue(values1);
var newSS = SpreadsheetApp.create('OTW Invoice');
newsheet.copyTo(NewSS).setName('OTW Invoice ' + cost1).getSheetId();
var folder = DriveApp.getFoldersByName("TEST Invoices").next();
var copyFile = DriveApp.getFileById(newSS.getId());
folder.addFile(CopyFile);
newSS.getId();
SpreadsheetApp.openById(NewSS).getSheetByName("Sheet1").deleteSheet();
}
【问题讨论】:
-
为什么不能得到电子表格的ID?如果您询问的是 Sheet 类的组件,那么您只需要名称,因为所有工作表都必须具有唯一的名称
-
因为它只是刚刚创建,我希望脚本在 1 go 中运行我的功能,我无法手动获取它。
getId似乎并没有做我想做的事。 -
是的,但是 NewSS.getId() 会得到你的 id
-
如果您的代码不起作用,请提供minimal reproducible example,我会帮您解决。请阅读minimal reproducible example 的要求我不希望有很长的代码我只需要您询问的部分和重现您希望解决的问题的部分。
标签: google-apps-script google-sheets