2015-06-18 1 views
1

Я думаю, что моя проблема находится в e.values. Я использую вместе с ('keyXXXXX', XXXXX);, который я использую.Форма Google для слияния документов с Pdf на почту

Исходный код, который я использовал, был чем-то, что я заимствовал у сайта TJ Houston. Я использую его для процесса подачи заявки. Я написал код, следующий процесс использования

var last_name = e.values [1] 

и согласование его с

copyBody.replaceText('keyLastName', last_name); 

Он работал для большинства записей, но не на

var emergency_phone = e.values[23]; 

согласованный с

copyBody.replaceText('keyEmergencyContactPhone', emergency_phone); 

На в форме и коде у меня было более 100 строк совпадений Var и CopyBody. Я создал более простой тест, который не работает, как только вы доберетесь до телефона.

// LAC Employement Applicaiton Script based on TJ Houston tjhouston.com ([email protected]) 
// LAC Employment Application 
// Get template from Google Docs and name it 
var docTemplate = "1Vb0P03a6qPfJOvo_bP_3zUM159XP18c3tfBL62L_mIs"; // *** replace with your template ID *** 
var docName = "Applicaiton Review"; 

// When Form Gets submitted 
function onFormSubmit(e) { 
//Get information from form and set as variables 
var email_address = "[email protected]"; 
var last_name = e.values[1]; 
var first_name = e.values[2]; 
var middle_name = e.values[3]; 
var current_address = e.values[4]; 
var ccity = e.values[5]; 
var cstate = e.values[6]; 
var czip = e.values[7]; 
var years = e.values[8]; 
var home_phone = e.values[9]; 
var cphone = e.values[10]; 
var email = e.values[11]; 
var emergency_contact = e.values[12]; 
var ephone = e.values[13]; 



// Get document template, copy it as a new temp doc, and save the Doc’s id 
var copyId = DriveApp.getFileById(docTemplate) 
.makeCopy(docName+' for '+last_name) 
.getId(); 
// Open the temporary document 
var copyDoc = DocumentApp.openById(copyId); 
// Get the document’s body section 
var copyBody = copyDoc.getActiveSection(); 

// Replace place holder keys,in our google doc template 
copyBody.replaceText('key1', last_name); 
copyBody.replaceText('key2', first_name); 
copyBody.replaceText('key3', middle_name); 
copyBody.replaceText('key4', current_address); 
copyBody.replaceText('key5', ccity); 
copyBody.replaceText('key6', cstate); 
copyBody.replaceText('key7', czip); 
copyBody.replaceText('key8', years); 
copyBody.replaceText('key8', home_phone); 
copyBody.replaceText('key9', cphone); 
copyBody.replaceText('key10', email); 
copyBody.replaceText('key11', emergency_contact); 
copyBody.replaceText('key12', ephone); 

// Save and close the temporary document 
copyDoc.saveAndClose(); 

// Convert temporary document to PDF 
var pdf = DriveApp.getFileById(copyId).getAs("application/pdf"); 

// Attach PDF and send the email 
var subject = "Applicaiton Review"; 
var body = "You have received an application from " + last_name + ""; 
MailApp.sendEmail(email_address, subject, body, {htmlBody: body, attachments: pdf}); 

// Delete temp file 
DriveApp.getFileById(copyId).setTrashed(true); 
} 
+1

Выяснил вопрос ... хотя мне бы хотелось, чтобы кто-то объяснил правильные параметры. Документы Google (ключ) должны быть уникальными. При использовании чисел он был готов только к первому числу ... т. Е. 10 стал ключевым 1, а затем он использовал 0 в качестве данных. Когда я изменил 10 на CellPhone, он работал отлично. – Jeff

ответ

0

При замене нескольких ключей в документе вы совершенно правы, что ключи должны быть уникальными. Лично я скопирую все клавиши с # символами, которые работают для меня, например. # key1 # не будет путать с # key10 #