使用宏按钮将多张图纸导出到TSV

时间:2019-02-14 17:01:20

标签: google-apps-script google-sheets export-to-csv

编辑 *我是从Google Sheets: Exporting to TSV复制并粘贴的,但是如何仅从选定的几张纸而不是每张纸上获取数据呢?谢谢 *

我已经尝试过在线寻找答案,但是我对脚本编辑的了解还不是很好,

我正在尝试制作一个宏,当我单击一个按钮(已完成)时,它将把7张纸导出到我的G盘上的TSV中,最好是在一个带有今天日期的文件夹中(文件名为商店' 1''2'等(工作表名称)。

当我尝试记录Macro时,我得到的只有以下内容,

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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您似乎想使用找到的脚本,但修改“ saveAstsv()”函数并添加“制作一个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);



}

我还没有测试过,但是如果您删除任何错别字,它应该可以做您想要的。