我开发了一个脚本扩展程序,它使用Google doc作为模板 AND作为脚本持有者。
它为我提供了一个非常好的环境来实现邮件合并应用程序(见下文)。
在某些时候,我使用DocsList
类makeCopy(new Name)
来生成将被修改和发送的所有文档。它就是这样:
var docId=docById.makeCopy('doc_'+Utilities.formatString("%03d",d)).getId();
一切都很好,但(当然)模板文档的每个副本都包含一个脚本副本,显然不是必需的!这也有点烦人,因为每次打开副本以检查数据是否正确我都会自动打开侧边栏菜单,这是一个耗时的过程......
我的问题是(是):
答案 0 :(得分:1)
按照Henrique的建议,我使用了一种解决方法,阻止UI加载新创建的文档...(感谢Henrique,这很聪明; - )
onOpen调用的函数现在就是这样:
function showFields() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var find = body.findText('#'); // the new docs have no field markers anymore.
if(find != null){ // show the UI only if markers are present in the document.
var html = HtmlService.createHtmlOutputFromFile('index')
.setTitle("Outils de l'option Publipostage").setWidth(370);
ui.showSidebar(html);
}
}