为什么会有 SpreadsheetApp。 open() 函数但不是 DocumentApp.open()?
Why is there a SpreadsheetApp. open() function but not a DocumentApp.open()?
当我测试这个脚本时;
function loop() {
var folder = DriveApp.getFolderById('actualIDhere');
var files = folder.getFiles();
while(files.hasNext()){
var doc = DocumentApp.open(files.next());
...
}
}
我收到这个错误:
TypeError: Cannot find function open in object DocumentApp. (line 5, file "Code")
google 模拟应用程序电子表格(我从中获取)似乎可以工作(参见此处:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app)
// 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());
}
知道失败的原因以及用什么代码替换它吗?
认为:
var doc = DocumentApp.open(files.next());
应该是:
var doc = DocumentApp.openById(files.next().getId());
因为 fileId
是那里的预期参数。
DocumentApp 的可用方法列在https://developers.google.com/apps-script/reference/document/document-app。
没有 open
方法,但有两种打开文档的方法:
openById(id)
openByUrl(url)
因为 files.next()
returns 具有以下方法的 File 对象:
getId()
getUrl()
使用哪种 DocumentApp 方法由您决定。
当我测试这个脚本时;
function loop() {
var folder = DriveApp.getFolderById('actualIDhere');
var files = folder.getFiles();
while(files.hasNext()){
var doc = DocumentApp.open(files.next());
...
}
}
我收到这个错误:
TypeError: Cannot find function open in object DocumentApp. (line 5, file "Code")
google 模拟应用程序电子表格(我从中获取)似乎可以工作(参见此处:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app)
// 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());
}
知道失败的原因以及用什么代码替换它吗?
认为:
var doc = DocumentApp.open(files.next());
应该是:
var doc = DocumentApp.openById(files.next().getId());
因为 fileId
是那里的预期参数。
DocumentApp 的可用方法列在https://developers.google.com/apps-script/reference/document/document-app。
没有 open
方法,但有两种打开文档的方法:
openById(id)
openByUrl(url)
因为 files.next()
returns 具有以下方法的 File 对象:
getId()
getUrl()
使用哪种 DocumentApp 方法由您决定。