如何通过脚本和库(独立脚本的ID)为多个文档收费?
function GetListFilesInFolder() {
var files = DriveApp.getFolderById("IDFOLDER").getFiles();
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
var doc = DocumentApp.openById(file.getId());
}
在此投放行动(Mettre ici les modifs a effectuer) *
要删除ID库和版本的脚本,以及在每个文档中使用“菜单库” *
- >如果存在,粘贴SCRIPT“菜单库”并删除现有脚本
粘贴“STANDALONE SCRIPT的钥匙ID”的关键点:“MsyugbZjzwbREFX21kTravXXXXXx3oCoSL”
- 资源
- 图书馆
- 搜索图书馆
- >粘贴ID(粘贴的关键字“独立脚本的密钥ID”)
- 选择
- 设置版本V1 SCRIPT“biblio”
- 菜单管理版本“V1”
- 保存
- 保存并关闭文件
Logger.log("Done")
}
版本3 11/07/2014(2个函数){oninstall function(){onOpen(); onOpen} /// function(){biblio.oninstall();}“} 仅将功能放在“Biblio”独立脚本
中SCRIPT库“biblio”被称为库,它是唯一的它包含了创建和执行函数的所有菜单 它是唯一的和密钥ID MsyugbZjzwbREFX21kTravXXXXXx3oCoSL 例如,在“文件”菜单中保存版本“V1” 管理版本
上诉“菜单库”的SCRIPT在我的所有Google文档中都是相同的文档+ + + +这个脚本正好在这里+ + + +
在这个SCRIPT“菜单库”中 关键是进入MsyugbZjzwbREFX21kTravXXXXXx3oCoSL - 资源 - 图书馆
菜单管理版本“V1”
此SCRIPT“菜单库”调用SCRIPT库 此脚本的更新将对所有文档生效 调用脚本“biblio”V1
我的所有Google文档文档都包含脚本调用“菜单库”,该脚本调用唯一脚本“Biblio” 好处:获得一天,一旦“Biblio” 在所有操作文件驱动器(特色脚本“菜单库”)` 我的所有新Google文档文档都是带有脚本文件类型“菜单库”的处女的副本
++++++++++++++++++++++++ 每个文件的容器装订脚本 ++++++++++++++++++++++++
function oninstall() {
onOpen();
}
function onOpen() {
biblio.oninstall();
}
/ ** ++++++++++++++++++++++++ STANDALONE SCRIPT biblio ++++++++++++++++++++++++ * /
function onOpen() {
// Add a menu with some items, some separators, and a sub-menu.
DocumentApp.getUi().createMenu('OAR ..')
.addItem('MAJ Date + OAR', 'biblio.test')
.addItem('MAJ Date Auto', 'biblio.testdate')
.addItem('Ajout Texte QSP 28 OAR 2 Fois', 'biblio.AjoutQSP28JoursOAR2fois')
.addItem('URL Auto', 'biblio.urlauto')
.addItem('Macro en Cours ....', 'biblio.macroencours')
.addToUi();
DocumentApp.getUi().createMenu('Données Patients ..')
.addItem('Poids', 'biblio.message2')
.addItem('Age', 'biblio.message2')
.addItem('Taille', 'biblio.message2')
.addToUi();
DocumentApp.getUi().createMenu('Ordo Paramedical ..')
.addItem('Accès Ordo Paramedical', 'biblio.accesordoparaA4')
.addItem('Accès Ordo Paramedical ALD', 'biblio.accesordoparaA5')
.addToUi();
}
function message2() {
DocumentApp.getUi() // Or DocumentApp or FormApp.
.alert('Laurent inove tjrs et encore ! Developpement en Cours ... Récupération des Données / Fiches Patients ... Soyez Patients !!!');
// a creer
}
function urlauto() {
DocumentApp.getUi() // Or DocumentApp or FormApp.
.alert('Developpement en Cours ... Veuillez Patientez ... Laurent travaille Déjà Beaucoup !');
// a creer
}
function AjoutQSP28JoursOAR2fois() { //Ajout QSP 28 Jours + OAR 2 fois
var doc = DocumentApp.getActiveDocument();// or DocumentApp.openById(file.getId()); as in your example code
var element = doc.getBody().findText("Le");
var d=new Date();
var s3=d.getFullYear();
var s2=d.getMonth()+1;
var s1=d.getDate();
var s4 =s2+2
var s5 =s1-10
var s6 =s2+3
if(s1<10) {
s1=("0"+s1).slice(s1.length-1);
}
if(s1>10) {
s1=(""+s1).slice(s1.length-1);
}
if(s2<10) {
s2=("0"+s2).slice(s2.length-1);
}
if(s2>10) {
s2=(""+s2).slice(s2.length-1);
}
var start = element.getStartOffset();
var text = element.getElement().asText();
text.editAsText().deleteText(3,12);
text.replaceText("Le ","Le " +[s1,s2,s3].join('/') + "\n" + "\n" +"QSP 28 Jours" +"\n"+ "OAR 2 fois");
text.editAsText().setFontSize(14,38,12);
}
function accesordoparaA4() {
DocumentApp.getUi() // Or DocumentApp or FormApp.
.alert('Developpement en Cours ... Veuillez Patientez ... Laurent travaille Déjà Beaucoup !');
// Open a document by ID.
var doc = DocumentApp.openById("");
}
function accesordoparaA5() {
DocumentApp.getUi() // Or DocumentApp or FormApp.
.alert('Developpement en Cours ... Veuillez Patientez ... Laurent travaille Déjà Beaucoup !');
}
答案 0 :(得分:1)
无法以编程方式更改容器边界脚本的内容。
Google Apps脚本问题40 here上的评论83中描述了变通方法。
我们的想法是更新“处女”模板文件中的脚本,然后使用评论中的脚本创建每个目标文档的新版本,将内容从旧文档复制到新文档。然后,最终结果是您拥有相同的文档内容,并使用新的脚本代码。
这种方法的一个问题是你最终会得到新的文件; Doc ID会发生变化,每个文档的URL都会发生变化。对于任何跨文档引用或协作者来说,这都是一个问题。