0

The below script works however, I cannot figure out how to save as a google spreadsheet. At the moment, the script will only save as the original file type (xlsx). Please help?

Looking at other posts, I've tried to convert it after being saved however, the file extension does not appear in the title, so that did not work. Although the ideal scenario would be to save directly as a google sheet.

The idea is to have the script move the email from one label to another, whilst saving the attached excel file as a "proper" google sheet.

Any help would be much appreciated!

function iTrentStaffToGDrive() {

  var gmailLabels = 'iTrentData/NewReportForStaff'
  var archiveLabel = 'iTrentData/ProcessedReportForStaff'

  var moveToLabel = GmailApp.getUserLabelByName(archiveLabel);
  var removeToLabel = GmailApp.getUserLabelByName(gmailLabels);

  var d = new Date()
  var curr_date = d.getDate()
  var curr_month = d.getMonth() + 1 //Months start at 0 
  var curr_year = d.getFullYear()
  var theDate = curr_year + "-" + curr_month + "-" + curr_date
  var driveFolder = '1BSNWjnnTLliaCI9VnZrcqBiWga4K_pFF'

  if (!moveToLabel) {
    moveToLabel = GmailApp.createLabel(archiveLabel);
  }

  var filter = "has:attachment -label:" + archiveLabel + " label:" + gmailLabels;
  var threads = GmailApp.search(filter, 0, 5);
  var destFolder = DriveApp.getFolderById(driveFolder);
  Logger.log(destFolder);

  for (var x = 0; x < threads.length; x++) {

    var message = threads[x].getMessages()[0];

    var desc = message.getSubject() + " #" + theDate + " #" + message.getId();
    var att = message.getAttachments();


    for (var z = 0; z < att.length; z++) {
      try {

        file = destFolder.createFile(att[z]);
        file.setDescription(desc);
        file.setName(message.getSubject() + " " + theDate)

      }
      catch (e) {
        Logger.log(e.toString());
      }
    }

    threads[x].addLabel(moveToLabel);
    threads[x].removeLabel(removeToLabel);

  }

}

I've tried adding in the MimeType.GOOGLE_SHEETS which did not work (unless I placed it in the wrong section?)

Paul
  • 1
  • 2

0 Answers0