【问题标题】:Universal find and replace within google apps script attached to google docs在附加到谷歌文档的谷歌应用脚​​本中通用查找和替换
【发布时间】:2015-11-02 07:28:53
【问题描述】:

我有一个包含谷歌电子表格的文件夹,每个文件夹都有自己的应用程序脚本。 因此,当我想更改脚本中的某些内容时,我需要打开每个电子表格 (10+),然后打开脚本编辑器,然后进行更改。 我知道我可以制作图书馆,但谷歌不鼓励这种做法,而且我最初制作图书馆的尝试很烦人,所以我宁愿这样做。 该设置使用 google 应用脚本来读取使用 OAuth1 库的 twitter 时间线。

所以问题是:我想要一个通用的查找和替换,它可以更改作为谷歌电子表格一部分的应用脚本中的代码。

为了避免创建 ui 的麻烦,我可以创建一个新的电子表格并指定两个单元格来查找和替换文本,但是我在它的脚本编辑器中写什么? 如何引用该特定文件夹内电子表格中的所有脚本?

我希望这不是很混乱。 文件夹 > 许多电子表格 > 每个都有应用程序脚本。想要在整个文件夹中的应用脚本中查找和替换。

编辑:代码示例。

var scriptIds = new Array("MRZbGCeTKBmp4CtqXXgos-8aNDKt3pcCO","MNOZVgBdOeoAQzms4suAKhg6in9ksdb4l","MEe5136smpZ6I6GcgDuCuB8aNDKt3pcCO");
function myFunction() {
  for(i = 0; i < scriptIds.length; i++){ 
    var doc = DocumentApp.openById(scriptIds[i]);
   doc.replaceText("My search string or regex", "My replacement string");
}
 Logger.log("Done");
}

数组 scriptIds 中的 ID 是我手动添加的应用脚本文件(它们本身附加到单个电子表格文件)的项目 ID。

【问题讨论】:

    标签: javascript replace google-apps-script find


    【解决方案1】:

    您可以在单个脚本中使用它们的 ID 循环遍历工作表。 您还没有粘贴代码,或者我可以告诉您在哪里更改它。 要么将 id 存储在数组中,要么使用 DriveApp 遍历文件夹中的文件并获取它们的 id。

    然后您可以将其余代码放入循环中,它应该可以工作。

    【讨论】:

    • 感谢您回复@karan。我可以使用link 中描述的两种方法之一,但问题是如何自动获取脚本文件的 ID。这些不是独立的脚本文件,而是附加到电子表格的脚本文件。当我遍历文件夹时,我得到的是电子表格作为文档,而不是附加的脚本。
    • 您不需要脚本的 id 而需要工作表。然后在床单上循环。单个脚本可以访问所有工作表。使用 DriveApp,您可以获取文件夹中文件的 ID。
    猜你喜欢
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多