как определить SpreadsheetApp.getActiveSheet () - PullRequest
0 голосов
/ 29 января 2019

Я хочу, чтобы мой скрипт приложения генерировал выходные данные на КОНКРЕТНОМ листе, а не на первом листе в документе.

Я хочу сделать следующее:

  1. Иметь 2Сценарии приложения запускаются по таймерам для одного документа листа Google
  2. Сценарий приложения 1 помещает данные в sheet1 с именем «order_1»
  3. Сценарий приложения 2 помещает данные в sheet2 с именем «orders_2»

мой код в настоящее время помещает вывод в активный лист, который всегда является первым листом в документе

function import_Completed_orders_FromGmail() {
var threads = GmailApp.search('subject: "orders"');
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];

// Is the attachment a CSV file
  attachment.setContentTypeFromExtension();  
  if (attachment.getContentType() === "text/csv") {

    var sheet = SpreadsheetApp.getActiveSheet();
    var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");

    // Remember to clear the content of the sheet before importing new data
    sheet.clearContents().clearFormats();
    sheet.getRange(1, 1, csvData.length, 
csvData[0].length).setValues(csvData);
}
}

есть ли способ определить «ActiveSheet» по имени?или указать конкретный лист для размещения этого вывода?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы можете получить оба листа по отдельности и использовать их в коде.

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet1 = ss.getSheetByName("order_1");
 var sheet2 = ss.getSheetByName("order_2"); 
0 голосов
/ 30 января 2019

Использование getSheetByName (name) метод из Класс Spreadsheet .

Чтобы получить объект Spreadsheet, вам нужно использовать один из методов SpreadsheetApp, чтобы открытьэлектронная таблица, такая как openById (id) , open(file), openByUrl(url), getActiveSpreadheet().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...