首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么会有一个SpreadsheetApp。打开()函数,而不是DocumentApp.open()?

为什么会有一个SpreadsheetApp。打开()函数,而不是DocumentApp.open()?
EN

Stack Overflow用户
提问于 2018-10-08 22:56:12
回答 2查看 475关注 0票数 -1

当我测试这个脚本时;

代码语言:javascript
复制
function loop() {
    var folder = DriveApp.getFolderById('actualIDhere');
    var files = folder.getFiles();
    while(files.hasNext()){
        var doc = DocumentApp.open(files.next());
        ...
    }
}

我得到了这个错误:

TypeError:在object DocumentApp中找不到打开的函数。(第5行,文件"Code")

一个类似谷歌应用程序的电子表格(我就是从它那里拿来的)似乎可以工作(请看这里:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app)

代码语言:javascript
复制
// Get any starred spreadsheets from Google Drive, then open the spreadsheets
// and log the name of the first sheet within each spreadsheet.

var files = DriveApp.searchFiles('starred = true and mimeType = "' + MimeType.GOOGLE_SHEETS + '"');
while (files.hasNext()) {
    var spreadsheet = SpreadsheetApp.open(files.next());
    var sheet = spreadsheet.getSheets()[0];
    Logger.log(sheet.getName());
}

你知道这失败的原因以及用什么代码来代替它吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-08 23:08:47

想一想:

代码语言:javascript
复制
var doc = DocumentApp.open(files.next());

应该是:

代码语言:javascript
复制
var doc = DocumentApp.openById(files.next().getId());

因为fileId是其中的预期参数。

票数 0
EN

Stack Overflow用户

发布于 2018-10-09 07:43:02

https://developers.google.com/apps-script/reference/document/document-app上列出了DocumentApp的可用方法。

没有open方法,但有两个方法可以打开文档:

  • openById(id)
  • openByUrl(url)

由于files.next()返回一个File对象,该对象具有以下方法:

  • getId()
  • getUrl()

使用哪种DocumentApp方法由您决定。

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

https://stackoverflow.com/questions/52704971

复制
相关文章

相似问题

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