删除旧数据的宏

Posted

技术标签:

【中文标题】删除旧数据的宏【英文标题】:Macro to delete the old data 【发布时间】:2019-05-13 22:46:58 【问题描述】:

我对此真的很陌生,并且希望在我目前陷入困境的地方获得一些帮助。我创建了一个宏来清除电子表格。我已经尝试了多个 onedit 和 onchange 触发器,但我的最终目标没有运气。我正在通过 zapier 将数据(大约 10 列和 100 行)发送到谷歌表格中。基本上,我通过替换数据来刷新数据。所以,在数据进入之前,我希望宏删除旧数据。但是,宏实际上会在发布后删除新数据。有什么脚本或解决方法可以提供帮助吗?

【问题讨论】:

添加你的“宏”的代码并描述你是如何运行它的。参考。 minimal reproducible example. 您发布的数据来自哪里?什么格式? 【参考方案1】:

据我对 Zapier 的了解,它以定时间隔运行。您可以在 Zapier 输入信息之前的时间间隔上运行脚本并删除旧信息。

另一种方法可能是使用中间表。(让我们将此表称为“sheet1”。最后一张表可以称为“sheet2”。当 Zapier 将数据写入 sheet1 时,它可以触发 onChanged 事件。获取信息在 sheet2 中删除所有内容,然后将新数据发布到 sheet 2。

最后,Zapier 支持 webhook。您可以将脚本发布为 Web 应用程序,并让它执行获取或发布到运行删除功能的应用程序。为了给它时间,您可以使用 Zapier 提供的延迟。

【讨论】:

【参考方案2】:

您所描述的内容听起来像是 IMPORTDATA 工作表函数的完美候选者。该函数与所有工作表函数一样输入到一个单元格中,它需要一个指向 CSV 或 TSV 文件的 URL。一旦输入 URL 引用的数据,就会扩展为适当数量的行和列。看到函数驻留在单个单元格中,您只需要在想要更改数据时更新该单元格。这意味着您不再需要使用 .gs 文件来删除旧数据,而是可以在 Zapier 中完成所有操作。我已经回答了一个类似于here 的问题,我描述了这是如何在 Zapier 中完成的。唯一的先决条件是您使用的数据是 CSV 或 TSV 格式。

【讨论】:

以上是关于删除旧数据的宏的主要内容,如果未能解决你的问题,请参考以下文章

删除带有长文本的宏后

我的宏使文件变大,尽管它删除了信息

更新数据库并删除旧的

删除的指针仍然指向旧数据

批量插入和删除 + 重新加载旧单元格 = 例外

更新 Plist 数据而不删除旧数据