在许多不同的表格(Google工作表)中使用一个Google脚本中的函数

我写了Google脚本。在该脚本中,我有一个函数需要在250多个不同的表格(Google工作表)中使用。问题是-如何使它在每个表中均可访问?

q775008 回答:在许多不同的表格(Google工作表)中使用一个Google脚本中的函数

是的,有可能。

两个选项:

  • 创建一个Apps脚本项目,该项目调用250多个电子表格,进行操作并更新每个电子表格的结果。

在此您将找到从应用程序脚本开始的一系列教程。 https://developers.google.com/apps-script/articles/tutorials

  • 创建一个可以从电子表格的任何单元格调用的函数,就像调用任何其他默认函数(如SUM())一样

在本文档中,您将找到如何执行第二个选项的说明。 https://developers.google.com/apps-script/guides/sheets/functions#arguments

,

要在其他Google表格中使用脚本或自定义功能,请将其发布为库。

Bruce Mcpherson上有一篇不错的文章:http://ramblings.mcpher.com/Home/excelquirks/gooscript/lib

,

好,我喜欢这个解决方案。就我而言,我需要更改的文件放置在不同的文件夹中,并且具有相似的名称

// function that i need to execute
function updatePrices(sheetId){    
  // do some staff
  var activeSpreadsheet = SpreadsheetApp.openById(sheetId);
  var histPricesSheet = activeSpreadsheet.getSheetByName(someSheetName);
  ....
  var cell = histPricesSheet.getRange(range);
  cell.setValues(someData);
}


function walkFolders(folderId){    
  // function that walk by folders and get ids of spradsheeds 
  and call func that I need in each spradsheed that I need

  var fin_fold = DriveApp.getFolderById(folderId); 
  var folders = fin_fold.getFolders();

  while (folders.hasNext()) {

    var folder = folders.next();
    var files = folder.searchFiles('title contains "карточка"');

    while (files.hasNext()){

      var file = files.next();

      updatePrices(file.getId());    // call my function to every spreadsheet
      Logger.log("обновлено");
    }
  }
}

walkFolders("folder ID wich contain folders with files to change");
本文链接:https://www.f2er.com/3130334.html

大家都在问