【问题标题】:Version control of spreadsheet macros电子表格宏的版本控制
【发布时间】:2018-01-28 18:07:29
【问题描述】:

不久前,我的未婚妻让我帮她创建一个电子表格来管理她的新小企业。来发现她实际上是在寻找一个成熟的 CRM。作为我未来的好丈夫,我决定可以使用一些 GoogleSheets 宏来解决这个问题。大约两周后,我的基本库存处理量减少了,但该项目比我预期的要大得多。浏览器内的 Syder IDE 和基本版本管理并没有真正削减它。

我现在的问题是:我想开始在 gitHub 中管理这个项目,但是我找不到一个优雅的方式来这样做。我在独立应用程序脚本文件中找到了 this 博客文章,但我似乎无法在我的 Google 云端硬盘中找到我的宏 (.gs) 文件。

我的问题:这些文件在哪里?有没有办法使用例如eclipse 开发我的宏并将它们存储回电子表格,同时还使用 git 或其他版本控制?

编辑:到目前为止得到了一些很好的反馈,但显然 Cloud Tools for Eclipse 不允许像 Google Plugin for Eclipse 那样编辑 Apps 脚本,请参阅 here

【问题讨论】:

  • 如果您的脚本是电子表格绑定的,它不会显示为独立文件。要创建独立的 .gs 文件,请转到 Google Drive > New > Google Apps Script(如果缺少该选项,请点击“Connect more apps”并搜索“Google Apps Script”)。

标签: git google-apps-script development-environment


【解决方案1】:

正如 Anton 所说,在 Google 表格界面之外无法访问电子表格绑定的脚本文件。您可以将所有代码复制粘贴到一个新的独立 Google 脚本文件中。但是,这可能需要一些代码更改,如下所述。

SpreadsheetApp.getActiveSpreadsheet 的调用需要替换为SpreadsheetApp.openById,电子表格的ID 是硬编码的。可以在该电子表格对象上调用其他 getActive* 方法,例如 getActiveSheetgetActiveRange,而不是直接调用 SpreadsheetApp。

任何简单的触发器(如 onOpen 或 onEdit)都需要由独立脚本安装在电子表格中的可安装触发器替换。所以,脚本应该有一个安装函数,比如说,onOpen,需要手动执行一次。见sample code for installing a trigger

【讨论】:

    【解决方案2】:

    按照 Michelle 的说明将代码迁移到独立脚本后,您可能需要查看此 Chrome 扩展程序:

    Google Apps Script Github Assistant

    它与 Apps Script GUI 集成,可以在 github 上推送和拉取源代码。它是一个非常方便的工具。

    附: Chrome 扩展程序也适用于绑定脚本,但我发现 Apps 脚本代码在它们是独立脚本时更易于重用。

    【讨论】:

      猜你喜欢
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      • 2011-03-27
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多