Google Sheets 调用 library function

  1. 首先在第一个 Sheet 打开 Apps Script 新建 script 并粘贴下面代码
    1
    2
    3
    function fn(arg1, arg2) {
    return `arg1: ${arg1}, arg2: ${arg2}`;
    }
  2. 将此 Apps Script 项目更名为 core
  3. 在第二个 Sheet 将 core 通过 script id 添加为 library
  4. 在第二个 Sheet 新建 Script 将下面代码粘贴
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function LIB_FUNC(libraryName, functionName) {
    var result;
    var lib = this[libraryName];
    var extraArgs = [];

    if (lib) {
    var func = lib[functionName];

    if (func) {
    if (arguments.length > 2) {
    extraArgs = Array.apply(null, arguments).slice(2);
    }

    result = func.apply(this, extraArgs);
    } else {
    throw "No such function: " + functionName;
    }
    } else {
    throw "No such library: " + libraryName;
    }

    return result;
    }
  5. 在第二个 Sheet 单元格就可以用 = LIB_FUNC("core", "fn", "hello", "world")