Home > Net >  Pass var Value to another var For Use With body.replaceText
Pass var Value to another var For Use With body.replaceText

Time:01-30

I'm working on a script that takes my Google Forms data and performs a replace function on a predetermined template Doc file using body.replaceText which is working fine. I've copied a truncated version of that below.

I can submit a form and it will replace the values of the template as designed but there are some multiple-choice (Yes or No) questions that are represented by checkboxes on the template Doc.

I've figured out how to Logger.log the checkboxes via unicode but how do I get var systemOperational.getValue = "yes" to assign a value to var systemOperationalYes using IF/Else?

Trying to have "If systemOperational value is Yes then systemOperationalYes = unicode \u2611 Else systemOperationalYes = unicode \u2610".

Pardon me if any of this sounds amateur. This is literally my first go at this.

  
  //e.values is an array of form values
  var timestamp = e.values[0];
  var emailAddress = e.values[1];
  var jobID = e.values[2];
  var storeName = e.values[3];
  var systemOperational = e.values[22];

if (systemOperational.getValue = "yes") {
  var systemOperationalYes = "\u2611";
  Logger.log("\u2611");
} else {
  var systemOperationalYes = "\u2610";
  Logger.log("\u2610");
  }
 
// Locat template file
var files = DriveApp.getFolderById("XXXXXXX").searchFiles('title contains "'  jobID  '"');
while (files.hasNext()) {
  var file = files.next();
  Logger.log(file.getId());
}
  //file is the template file, and you get it by ID
  var templateFile = DriveApp.getFileById(file.getId());
 
  //We can make a copy of the template, name it, and optionally tell it what folder to live in
  //file.makeCopy will return a Google Drive file object
  var responseFolder = DriveApp.getFolderById("XXXXXXXXX");
  
  //Converts dateSigned var to MM-dd-yyyy for use in file name
  var convertedDate = new Date(dateSigned);
  Logger.log(convertedDate);
  var formatSignDate = Utilities.formatDate(convertedDate, "GMT-5", "MM-dd-yyyy");
  Logger.log(formatSignDate);

  var folder = responseFolder.createFolder(storeName   '-'   jobID   '-'   formatSignDate);
  var copy = templateFile.makeCopy(storeName   '-'   jobID   '-'   formatSignDate, folder);
 
  //Once we've got the new file created, we need to open it as a document by using its ID
  var doc = DocumentApp.openById(copy.getId());
 
  //Since everything we need to change is in the body, we need to get that
  var body = doc.getBody();
 
  //Then we call all of our replaceText methods
  body.replaceText('{{SYSOPY}}', systemOperationalYes);
 
  //Lastly we save and close the document to persist our changes
  doc.saveAndClose();
  
  // Convert temporary document to PDF
var pdf = DriveApp.getFileById(copy.getId()).getAs("application/pdf")
var url = DriveApp.getFolderById(folder.getId()).createFile(pdf);
 
 
// Delete temp file
//DriveApp.getFileById(templateFile.getId()).setTrashed(true);



}```

CodePudding user response:

try it this way:

var timestamp = e.values[0];
var emailAddress = e.values[1];
var jobID = e.values[2];
var storeName = e.values[3];
var systemOperationalYes;

if (e.values[22] = "yes") {
  systemOperationalYes = "\u2611";
  Logger.log("\u2611");
} else {
  systemOperationalYes = "\u2610";
  Logger.log("\u2610");
}
  •  Tags:  
  • Related