如何安装脚本&以前在XX文档中创建了另一个脚本的库?

时间:2014-07-23 12:41:26

标签: google-apps-script google-docs

如何通过脚本和库(独立脚本的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 - 资源 - 图书馆

  • 搜索图书馆 - >粘贴ID
  • 选择
  • 设置版本V1 SCRIPT“biblio”以前
  • 菜单管理版本“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 !');
     }  

1 个答案:

答案 0 :(得分:1)

无法以编程方式更改容器边界脚本的内容。

Google Apps脚本问题40 here上的评论83中描述了变通方法。

我们的想法是更新“处女”模板文件中的脚本,然后使用评论中的脚本创建每个目标文档的新版本,将内容从旧文档复制到新文档。然后,最终结果是您拥有相同的文档内容,并使用新的脚本代码。

这种方法的一个问题是你最终会得到新的文件; Doc ID会发生变化,每个文档的URL都会发生变化。对于任何跨文档引用或协作者来说,这都是一个问题。