Экспорт нескольких листов в TSV с помощью кнопки макроса - PullRequest
0 голосов
/ 14 февраля 2019

РЕДАКТИРОВАТЬ * Я копирую и вставляю из Google Sheets: Экспорт в TSV , однако как мне получить данные только из нескольких выбранных листов, а не с каждого листа?спасибо *

Я пытался искать ответы в Интернете, но пока не очень хорош в редактировании сценариев,

Я пытаюсь создать макрос, который при нажатии кнопки(уже сделано), он будет экспортировать 7 листов в TSV на моем G-диске, предпочтительно в папку с именем на сегодняшнюю дату (с файлом, названным как «1», «2» и т. д. (название листов).

Когда я попробовал запись Макроса, все, что я получил, было следующее:

function DownloadOrders() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('1'), true);
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2'), true);

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 15 февраля 2019

Похоже, вы хотите использовать найденный скрипт, но измените функцию "saveAstsv ()" и добавите функцию "make one tsv);

function saveAstsv() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // create a folder from the name of the spreadsheet
  var folder = DriveApp.createFolder(ss.getName().toLowerCase().replace(/   /g,'_') + '_tsv_' + new Date().getTime());

  makeOneTsv("Sheet A",folder);
  makeOneTsv("Sheet B",folder);


  Browser.msgBox('Files are waiting in a folder named ' + folder.getName());
}



function makeOneTsv(sheetName,folder){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
fileName = sheet.getName() + ".tsv";
var tsvFile = convertRangeTotsvFile_(fileName, sheet);
folder.createFile(sheetName, tsvFile);



}

Я не проверял это, но этоследует делать то, что вы хотите, если вы удалите любые опечатки.

...