【问题标题】:DriveApp vs SpreadsheetAppDriveApp 与 SpreadsheetApp
【发布时间】:2018-03-02 07:10:31
【问题描述】:

在 Google Apps Script 中,我看到 DriveApp 和 SpreadsheetApp 的一些功能是通用的。我可以使用其中任何一种来达到预期的效果。选择一个而不是另一个的优点和缺点是什么?性能、效率等方面的好处?

根据@Ruben 的建议进行编辑: 我特别想到了 DriveApp.getFileById(id) 与 SpreadsheetApp.openById(id) 之类的命令,它们似乎具有相似的功能。

【问题讨论】:

  • 你说的有什么具体的功能吗?或者我的一般答案可以吗?
  • 您发现 DriveApp 和 SpreadsheetApp 共有哪些功能?
  • @Rubén 我在想像 DriveApp.getFileById(id) 与 SpreadsheetApp.openById(id) 这样的命令,乍一看似乎很相似。克里斯在下面的消息向我阐明了差异。
  • 为了使您的问题看起来更好并且可能受到社区的欢迎,请将这些详细信息添加到问题中。

标签: google-apps-script google-sheets


【解决方案1】:

它们实际上完全不同。

一般来说,DriveApp 处理用户驱动器上存在的所有文件。它的函数返回FileFolderFileIteratorFolderIterator 对象。使用这些类型,您不能(大部分)使用 SpreadsheetApp、DocumentApp 等提供给您的功能来修改文件的内容。它们让您可以在云端硬盘中移动和复制文件。

SpreadsheetApp 处理SpreadsheetSheetRange 对象。这些使您能够更好地控制在文件中提取和修改数据。

这就像在桌面上移动/复制/粘贴/附加文件或打开文件以更改内容之间的区别。

它们之间的功能相似,大致相同,但结果可能略有不同,请查看文档。

【讨论】:

  • 感谢您的澄清。我正在查看诸如 DriveApp.getFileById(id) 与 SpreadsheetApp.openById(id) 之类的命令。乍一看,两者似乎都在做同样的事情。您的回复中突出显示的部分澄清了它......例如,如果我想获取文件以将其移动到不同的文件夹,请使用 DriveApp.getFilebyId(id) 。但是如果我真的想修改它的内容,我需要使用SpreadsheetApp.openById(id)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多