У меня проблемы с заменой текста в Google Doc с помощью App Script.
Внутри документа у меня есть определенные теги / токены, такие как ${TOKEN.SUBTOKEN}
.Я получаю документ в виде текста и извлекаю все TOKEN в виде списка с регулярным выражением без проблем, но когда я хочу использовать функцию replaceText
, у меня возникают проблемы.Когда я выполняю строку replaceText
, она не меняет значение в документе, а возвращает элемент из документа.Я не могу найти способ заменить целевой текст.
var doc = DocumentApp.openById(docId);
var docBody = doc.getBody();
// tokenValues is the Object that contains the values to replace.
var fields = docBody.getText().match(/\$\{[a-z0-9\.\_]+\}/gi);
for (var i = 0; i < fields.length; i++ ) {
fields[i] = fields[i].substring(2, fields[i].length-1);
}
for (var i; i < fields.length; i++) {
Logger.log(docBody.replaceText(new RegExp('\\${ *' + fields[i].replace('/\./g', '\.') + '\ *}', tokenValues[i]));
}
Как мне к этому подойти, у меня проблемы с этим, потому что документация не такая явная (или, может быть, я не понимаю)