我有執行以下操作的代碼:
- 從第一張表“OTW 表”中收集值
- 按 Id 打開另一個現有作業表 - “發票”
- 設定從“OTW 表”復制的“發票”中的值
- 在 Drive 應用程式中創建一個新電子表格并將“發票”復制到新電子表格。
這一切正常,但下一步是洗掉新創建的電子表格中名為“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();
}
uj5u.com熱心網友回復:
代替
NewSS.getId();
SpreadsheetApp.openById(NewSS).getSheetByName("Sheet1").deleteSheet();
經過
NewSS.deleteSheet(NewSS.getSheetByName("Sheet1"));
參考
- https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#deletesheetsheet
uj5u.com熱心網友回復:
洗掉新創建的電子表格的作業表
這有效:
function myFunction() {
const ss = SpreadsheetApp.openById("ssid");
const sh = ss.getActiveSheet();
const nss = SpreadsheetApp.create('OTW Invoice');
sh.copyTo(nss).setName('OTW Invoice ' ' Copy');
const fldr = DriveApp.getFoldersByName("TestFolder").next();//assume only one
const file = DriveApp.getFileById(nss.getId());
fldr.addFile(file);//move nss to a subfolder
nss.deleteSheet(nss.getSheetByName("Sheet1"));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/389313.html
