私はこれに対する答えを検索して検索しましたが、運がありません。doc.replaceText() を使用してドキュメントからテキストを置き換えようとしています。(スプレッドシートからのメール送信に関する同じチュートリアルを参照)。%、#、またはその他の特殊文字を試しても、文字列は置き換えられません。どんな助けでも大歓迎です。
ここに私のコードスニペットがあります:
function createHtmlMessage(gradesList)
{
var templateDocId = ScriptProperties.getProperty("EmailTemplateDoc");
var docId = DocsList.getFileById(templateDocId).makeCopy().getId();
var doc = DocumentApp.openById(docId);
var body = doc.getActiveSection();
var html = "";
var keys = {
STUDENT_NAME: "student",
GR_ENGLISH: gradesList[0],
GR_MATHS: gradesList[1],
GR_SCIENCE: gradesList[2],
GR_SOCIAL: gradesList[3],
GR_2NDLANG: gradesList[4],
GR_3RDLANG: gradesList[5],
GR_COMPUTERS: gradesList[6],
REMARKS: "remarks"
};
for ( var k in keys ){
var source = k;
var dest = keys[k];
body.replaceText("%" + k + "%", keys[k]);
}
html = getDocAsHtml(docId);
DocsList.getFileById(docId).setTrashed(true);
return html;
}
私のすべての「キー」は、前後に「%」記号が付いたドキュメントに存在します。