首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我在google sheets项目中有macros.gs和'Copy of macros.gs‘时,哪一个是默认的?

当我在google sheets项目中有macros.gs和'Copy of macros.gs‘时,哪一个是默认的?
EN

Stack Overflow用户
提问于 2021-06-01 09:14:08
回答 1查看 27关注 0票数 1

在我的Google sheets项目中,我有一个macros.gs。在“工具”->“脚本编辑器”中,我复制了一份macros.gs,并将其命名为“copy of macs.gs”。

默认情况下选择哪一个?我假设我的Google sheet项目使用的是最新版本,不知道如何找到google产品版本号。我知道它使用的是几周前(2021年4月至5月)的更新版本的编辑器。

我看到了一些奇怪的东西。我在macros.gs中的其中一个函数上执行了一个定时宏。我认为它根据我看到的列表的顺序选择macros.gs或macros.gs的副本。最有可能是最底层的版本。这是真的吗?

另一方面,当我打开脚本编辑器时,默认情况下会打开副本版本,该版本位于macros.gs之上。可以,在启动脚本编辑器后,我可以通过从左侧面板中选择来切换版本。

我希望这两个默认脚本编辑器的打开版本都与timed execution使用的默认版本相同。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2021-06-01 15:22:37

Apps脚本项目中的所有函数名都应该是唯一的

  • 因此,无论函数位于相同的.gs文件中还是位于两个不同的文件中,都没有关系。

在原始.gs文件和副本中具有相同名称的函数的

  • 将导致意外行为。

如果你想知道哪个.gs文件是默认的,你可以通过一个简单的测试来找到它:

  • 使用content

在绑定的脚本中创建Macro.gs文件

代码语言:javascript
复制
function myFunction() {
  SpreadsheetApp.getActive().getActiveSheet().getActiveCell().setValue("old script")
}

  • 创建macro.gs文件的副本
  • 将副本的内容更改为

代码语言:javascript
复制
function myFunction() {
  SpreadsheetApp.getActive().getActiveSheet().getActiveCell().setValue("copy")
}

  • 单击该按钮并查看hwat happens:

它将是作为调用的 copy 的函数。

如果这不是您想要的-您需要重命名所有函数,以确保它们具有唯一的名称,或者注释掉脚本文件中您不希望调用的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67781659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档