Search code examples
google-apps-scriptgoogle-sheetsgoogle-drive-apimime-types

How to get Mimetype file id


I Cannot get Memitype file id after creation, what I need to put created file id in as.getRange(i,11) .......................................... details:-

function myScriptes() {
  var docFile = DriveApp.getFileById("ID");
  var tempFolder = DriveApp.getFolderById("ID");
  var pdfFolder = DriveApp.getFolderById("ID");

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var as = ss.getSheetByName("invoices");
  var lastRow = as.getLastRow();
  



  for (var i = 2 ; i<=lastRow ; i++){
    
    var checked = as.getRange(i ,9).getValue();

    if (checked == true){
      var tempFile = docFile.makeCopy(tempFolder);
      var tempDocFile = DocumentApp.openById(tempFile.getId());
      var body = tempDocFile.getBody();
      
      body.replaceText("{invNum}",as.getRange(i,2).getValue());
      body.replaceText("{invDate}",as.getRange(i,3).getDisplayValue());
      body.replaceText("{dueDate}",as.getRange(i,4).getDisplayValue());
      body.replaceText("{clientName}",as.getRange(i,1).getValue());
      body.replaceText("{service}",as.getRange(i,5).getValue());
      body.replaceText("{amount}",as.getRange(i,6).getValue());
      tempDocFile.saveAndClose();
      var pdfFile = tempFile.getAs(MimeType.PDF);
      

      pdfFolder.createFile(pdfFile).setName(as.getRange(i,1).getValue() + " - " + as.getRange(i,2).getValue());
      tempFolder.removeFile(tempFile);
    }
  } 
}

Solution

  • Explanation:

    createFile returns a file so you can use getId and store the id in cell i,11.

    Solution:

    function myScriptes() {
      var docFile = DriveApp.getFileById("ID");
      var tempFolder = DriveApp.getFolderById("ID");
      var pdfFolder = DriveApp.getFolderById("ID");
    
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var as = ss.getSheetByName("invoices");
      var lastRow = as.getLastRow();
      
      for (var i = 2 ; i<=lastRow ; i++){
        
        var checked = as.getRange(i ,9).getValue();
    
        if (checked == true){
          var tempFile = docFile.makeCopy(tempFolder);
          var tempDocFile = DocumentApp.openById(tempFile.getId());
          var body = tempDocFile.getBody();
          
          body.replaceText("{invNum}",as.getRange(i,2).getValue());
          body.replaceText("{invDate}",as.getRange(i,3).getDisplayValue());
          body.replaceText("{dueDate}",as.getRange(i,4).getDisplayValue());
          body.replaceText("{clientName}",as.getRange(i,1).getValue());
          body.replaceText("{service}",as.getRange(i,5).getValue());
          body.replaceText("{amount}",as.getRange(i,6).getValue());
          tempDocFile.saveAndClose();
          var pdfFile = tempFile.getAs(MimeType.PDF);
          
    
          var file=pdfFolder.createFile(pdfFile).setName(as.getRange(i,1).getValue() + " - " + as.getRange(i,2).getValue()); // modified code
          
          as.getRange(i,11).setValue(file.getId()); // new code
    
          tempFolder.removeFile(tempFile);
        }
      } 
    }