-1
現在のところ、このスクリプトは顧客契約のテンプレートを使用し、「キー」をアクティブ行の値に置き換え、pdfを作成して電子メールで送信します。私は使いたい3種類のテンプレートを持っています。このコードを変更して複数のテンプレートを含めるにはどうすればよいですか?
私のスプレッドシートの列b(列aはタイムスタンプ)では、テンプレート1,2または3の中から選択したいと思います。スクリプトを実行すると、列bに基づいてテンプレートが取得されます。テキストを置き換え、今のようにpdfと電子メールを作成します。
テンプレートの唯一の違いは、スタイルとロゴです。すべての「キー」と変数は同じです。私は、スクリプトがアクティブな行のカラムbの値に基づいて3つのテンプレートの間で決定し、今度はそれと同じように進めたいと思っています。おかげ
var docConTemplate = "1uQnP_Z7TqPgMrk9SFzc";
var docConName = "Customer Contract";
function sendContract() {
//Get information from form and set as variables
var ActiveSheet = SpreadsheetApp.getActiveSheet();
var ActiveRow = ActiveSheet.getActiveRange().getRow();
var cus_nam = ActiveSheet.getRange("B"+ActiveRow).getValue();
var cus_add = ActiveSheet.getRange("E"+ActiveRow).getValue();
var tod_dat = Utilities.formatDate(new Date(), "GMT-4", "EEEE MMMM dd,
yyyy");
var cus_pho = ActiveSheet.getRange("D"+ActiveRow).getValue();
var cus_ema = ActiveSheet.getRange("C"+ActiveRow).getValue();
var num_bus = ActiveSheet.getRange("J"+ActiveRow).getValue();
var date_bb = ActiveSheet.getRange("F"+ActiveRow).getValue();
var dep_dat = Utilities.formatDate(date_bb, "GMT-4", "EEEE MMMM dd,
yyyy 'at' hh:mm a");
var dep_add = ActiveSheet.getRange("G"+ActiveRow).getValue();
var des_des = ActiveSheet.getRange("H"+ActiveRow).getValue();
var date_cc = ActiveSheet.getRange("I"+ActiveRow).getValue();
var ret_dat = Utilities.formatDate(date_cc, "GMT-4", "EEEE MMMM dd,
yyyy 'at' hh:mm a");
var cus_not = ActiveSheet.getRange("L"+ActiveRow).getValue();
var price = ActiveSheet.getRange("K"+ActiveRow).getValue();
// Get document template, copy it as a new temp doc, and save the
Doc’s id
var copyId = DriveApp.getFileById(docConTemplate)
.makeCopy(docConName+' for '+dep_dat)
.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('keyCusNam', cus_nam);
copyBody.replaceText('keyCusAdd', cus_add);
copyBody.replaceText('keyDat', tod_dat);
copyBody.replaceText('keyPho', cus_pho);
copyBody.replaceText('keyEma', cus_ema);
copyBody.replaceText('keyDepDat', dep_dat);
copyBody.replaceText('keyDepAdd', dep_add);
copyBody.replaceText('keyDesAdd', des_des);
copyBody.replaceText('keyRetDat', ret_dat);
copyBody.replaceText('keyCusNot', cus_not);
copyBody.replaceText('keyPri', price);
copyBody.replaceText('keyNumBus', num_bus);
// 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 = "Contract";
var body = "Thank you for your business! Here is the contract for " +
dep_dat + ".";
MailApp.sendEmail(cus_ema, subject, body, {htmlBody: body,
attachments: pdf});
// Delete temp file
DriveApp.getFileById(copyId).setTrashed(true);
}
このサイトはプログラミングに関する質問に答えるためのものだと思っていました。代わりに私は文法レッスンを受けました。質問はまだ答えられていない。よくやった!私はこれをどこか別のものに見せてくれると思う。 –