Script do Google Apps Exportando cópia em branco da planilha de modelo copiada

Eu tenho uma planilha de origem com conteúdo.

Eu tenho um modelo de destino para esse conteúdo.

Seleciono e copio o conteúdo na planilha de origem.

Crio uma cópia do modelo de destino e colo no conteúdo da planilha de origem.

Em seguida, executo algum código para exportar o modelo de destino como um arquivo XLSX e o anexo a um email.

O email e o anexo são enviados, mas o conteúdo do arquivo XLSX corresponde ao modelo original - o conteúdo em que colei está ausente.

No entanto, se eu pegar minha string de exportação e executá-la no navegador, ela exportará o arquivo XLSX muito bem com o conteúdo!

Parece que a função de exportação está em execução antes da conclusão da colagem de conteúdo e do envio do modelo de destino recém-criado sem o conteúdo.

Já experimentei o Utilities.sleep (30000), mas não importa quanto tempo espere, sempre recebo uma cópia em branco do modelo original. WTF ?!

Código completo:

function sendVendor() {
  // Open the Active Spreadsheet
  var ssMaster = SpreadsheetApp.getActiveSpreadsheet();

  var sheetInsert = ssMaster.getSheetByName('Insert RFQ');
  var rfqNumber = sheetInsert.getRange('AW2').getValue();

  var sheetWorkUp = ssMaster.getSheetByName('WORK UP');

  var backgroundColor = '#FF5050';
  var row = 11;
  var newSheetRow = 13;
  var numRows = 0;

  var valuesPartNumbers = sheetWorkUp.getRange(12, 2, 233, 1).getValues();

  var size = valuesPartNumbers.filter(function(value) { return value != '' }).length;

  size = size - 1;

  // Create the new RFQ from Template
  var template = DocsList.getFileById('1M2f5yoaYppx8TYO_MhctEhKM_5eW-QCxlmJdjWg9VUs');  // Quote Workup Template
  var newRFQ = template.makeCopy('Vendor RFQ Request ' + rfqNumber);
  var newRFQId = newRFQ.getId();

  var folderNew = DocsList.getFolder('Vendor RFQ Requests');
  newRFQ.addToFolder(folderNew)

  // Open new RFQ
  var ssTemplate = SpreadsheetApp.openById(newRFQId);
  var sheetVendorRequest = ssTemplate.getSheetByName('Vendor Request');

  var newTemplateURL = ssTemplate.getUrl();

  var needPricing = new Array();
  var valuesFRCosts = sheetWorkUp.getRange(12, 8, size, 1).getValues();

  for (var i = 0; i < valuesFRCosts.length; i++) {
    row++;

    if (valuesFRCosts[i][0] == '') {      
      var sheetWorkUpRow = sheetWorkUp.getRange(row, 1, 1, sheetWorkUp.getLastColumn());
      sheetWorkUpRow.setBackground(backgroundColor);

      var sendToTemplate = sheetWorkUp.getRange(row, 1, 1, 6).getValues();
      sendToTemplate[0].splice(2, 1);

      sheetVendorRequest.getRange(newSheetRow, 2, 1, 5).setValues(sendToTemplate);

      newSheetRow++;      
    }
  }

  var url = 'https://docs.google.com/feeds/download/spreadsheets/Export?key=' + newRFQId + '&exportFormat=xlsx';
  var doc = UrlFetchApp.fetch(url);

  var attachments = [{fileName:'Vendor RFQ Request ' + rfqNumber, content: doc.getContent(),mimeType:"application/vnd.ms-excel"}];
  MailApp.sendEmail("[email protected]", "Excel Export Test", "See the attached Excel file.", {attachments: attachments}); 
}

questionAnswers(1)

yourAnswerToTheQuestion