我已經修改了「周獎的員工」,不能讓它準確的數據在從提交拉我的文件。員工周最佳劇本修改的工作不
我的目標是:
1)填寫表格所需的細節
2)有腳本來收集這些細節,並把它們插入到我的文檔模板在正確的密鑰持有者
3)在標題變化的PDF創建文檔的一個「新」的副本
4)通過電子郵件將是巨大的,但不是必需的,只要它保存新文檔
我可以讓它創建一個新文檔並運行腳本,但它似乎並沒有從表單或電子表格中提取正確的(或任何)數據。它一直顯示'未定義',它應該顯示輸入到表單中的值。請幫我看看我的錯誤。我花了數小時試圖弄清楚並重新編寫代碼。提前致謝!
這裏是鏈接到我的文檔和電子表格,表單和腳本我使用。
https://docs.google.com/document/d/1A34uyNyMzp3o8XBzmIGqqfvCH6ocpQWN4HaZ5f4AiDk/edit
https://docs.google.com/spreadsheet/ccc?key=0AkKN7xCpxU54dENoZ0RoSnF1QXhQNnAyX3ZiNmVwRGc#gid=0
這裏是我當前的腳本:
function sendDocument() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = sheet.getLastRow(); // First row of data to process
var numRows = 1; // Number of rows to process // Fetch the range of cells
var dataRange = sheet.getRange(startRow, 1,2) // Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var ID = row[1]; // First column
var facility_name = row[2]; // Second column
// Get document template, copy it as a new temp doc, and save the Doc’s id
var copyId = DocsList.getFileById("1A34uyNyMzp3o8XBzmIGqqfvCH6ocpQWN4HaZ5f4AiDk")
.makeCopy("Copy of Mail Merge Doc template"+' for '+facility_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/tags,
copyBody.replaceText('keyFacilityName', facility_name);
copyBody.replaceText('keyID', ID);
var todaysDate = Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy");
copyBody.replaceText('keyTodaysDate', todaysDate);
// Save and close the temporary document
copyDoc.saveAndClose();
// Convert temporary document to PDF by using the getAs blob conversion
var pdf = DocsList.getFileById(copyId).getAs("application/pdf");
// Delete temp file
DocsList.getFileById(copyId).setTrashed(false);
}}
我也曾嘗試以下兩個選項在我的劇本的開始「拉」從表單中的數據創建'新'文檔沒有成功...
// Global variables
docTemplate = 「1A34uyNyMzp3o8XBzmIGqqfvCH6ocpQWN4HaZ5f4AiDk」;
docName = 「Copy of Mail Merge Doc template」;
function sendDocument() {
// Full name and email address values come from the spreadsheet form
var ID = from-spreadsheet-form
var facility_name = from-spreadsheet-form
...繼續腳本如上...
和
// Global variables
docTemplate = 「1A34uyNyMzp3o8XBzmIGqqfvCH6ocpQWN4HaZ5f4AiDk」;
docName = 「Copy of Mail Merge Doc template」;
function onFormSubmit(e) {
// Full name and email address values come from the spreadsheet form
var ID = e.values[1];
var facility_name = e.values[2];
...繼續上面的腳本...
如果可能的話請幫忙。
謝謝你的答覆。我現在分享了這些鏈接。我很抱歉沒有這麼做。我會嘗試你的建議,並讓你知道我的公平。如果你想看看現在的鏈接,將不勝感激。 – user2043853
剛剛看到您的留言(歐洲時間),很高興幫助! - 請考慮接受答案 –