Выбор конкретного листа на основе числа от 0 или имени - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать электронное письмо с вложением в PDF-файл определенного листа, не обязательно активного листа. Я попытался сослаться как на конкретное имя листа, так и на номер, но безрезультатно, он выбирает лист 1 под названием «AMDashboard_English». Пожалуйста, помогите.

function CreatePDF() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AMDashboard_English");
  var sheet = ss.getSheetByName("AMDashboard_English");
  Logger.log(sheet.getName());

  var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", sheet.getId());

  var url_ext = 'exportFormat=pdf&format=pdf'   // export as pdf / csv / xls / 

  var token = ScriptApp.getOAuthToken();
  var sheets = ss.getSheets(); 

  var blobs = [];
  var i=0

  var response = UrlFetchApp.fetch(
    url + url_ext + sheets[i].getSheetId(), {
      headers: {'Authorization': 'Bearer ' +  token}
    }
  );

  blobs[i] = response.getBlob().setName(sheets[i].getName() + '.pdf'); 
  DriveApp.createFile(blobs[i]);
  return blobs[i];
}

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Я обнаружил, что код действительно работает, как и планировалось.Причина, по которой это не сработало, заключается в том, что у меня был другой набор кода, ссылающийся на те же самые переменные, что, по-видимому, запутало скрипты Google.Все хорошо.Спасибо.

0 голосов
/ 26 марта 2019

URL должен иметь следующий формат:

https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/export?format=[PDF]&gid=[SHEET_ID]
...