【问题标题】:google sheet : is it possible to import custom function from other spreadsheet?google sheet:是否可以从其他电子表格导入自定义函数?
【发布时间】:2020-12-15 04:43:48
【问题描述】:

我有 2 个电子表格:A 和 B。我在电子表格 A 中创建了自定义函数 function_A()

function function_A() {
   return("test")
}

它可以工作,我想在电子表格 B 中使用它。如何将自定义函数导入 B?有可能吗?

【问题讨论】:

  • 虽然我不确定我是否能正确理解你的实际目标,例如,作为一个简单的方法,将谷歌电子表格A的脚本复制到谷歌电子表格B的脚本编辑器中怎么样?
  • 如果我想在许多电子表格中使用它的问题:B、C、D、... ZZ 那么我必须制作这么多副本,因为它很难调试或更新,所以效率不高功能。我必须一一去。使用 1 个单独的 master 函数作为 lib 会更容易维护。
  • 感谢您的回复。现在我注意到你的问题已经解决了。我很高兴。

标签: google-sheets google-sheets-formula worksheet-function


【解决方案1】:

解决方案

作为 @Tanaike 建议的替代解决方案,您可以使用 Apps 脚本库。通过这种方式,您可以将外部 Apps Script 代码导入您的项目,以提高可读性并启用代码可扩展性。

示例

您的电子表格_A 绑定的 Apps 脚本项目如下所示:

function function_A() {
  return "output_A";
}

现在,为了在您身上使用此代码"Spreadsheet_B",您需要使用 "Spreadsheet_A" Apps 脚本项目 "Script ID 导入它".

您可以在 Apps 脚本中找到它“项目设置”

复制完成后,切换到 "Spreadsheet_B" 绑定的 Apps 脚本项目并使用其 "Script ID" 导入 "Spreadsheet_A"时间>。转到Resources>Libraries 并将“脚本ID” 粘贴到“添加库” 输入字段中。最后,点击“添加”

请注意,该库现在将分配一个标识符。您可以根据需要对其进行编辑。在本例中,我将使用字母“A”。

现在您可以在您的 "Spreadsheet_B" 绑定的 Apps 脚本项目中简单地创建一个新的 function_B(),该项目在内部使用来自 Apps 脚本库的 function_A()

/*
* @customfunction
*/
function function_B() {
  return A.function_A() + " from function_B";
}

参考文献

Apps Script Libraries

【讨论】:

  • 非常感谢。 Perfecto,效果很好。但我有一个问题,如果可能的话,不是使用脚本 ID 连接它,有什么方法可以使我的函数对我的所有电子表格都“全局”?我使用的其他一些应用程序,它们具有创建自定义函数并将其加载为“全局”函数的 API,因此我的所有项目都可以立即访问它。
  • 在这种情况下,我建议使用Editor Add-On。您可以在插件安装中定义一个函数,并在您将与您的帐户一起使用的每个电子表格中使用它。不过,您必须在新的电子表格上启动插件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
相关资源
最近更新 更多