Google apps script 查找并替换共享驱动器中的多个文档
问题是:我在多个共享驱动器中有多个文档(特别是谷歌表单),需要替换同一个单词。一些人在这个论坛上搜索到了下面的代码,但它似乎不起作用。我没有收到任何错误消息,但当我检查文件时,没有任何更改。我检查并确保正确输入搜索字符串和替换字符串 我需要做一些不同的事情来让它检查共享驱动器中的文件吗?我试着在高级Google服务中打开驱动API,但这在第6行中给了我一个错误( var doc=DocumentApp.openById(file.getId());) 以下是我使用的代码:Google apps script 查找并替换共享驱动器中的多个文档,google-apps-script,google-drive-api,google-drive-shared-drive,Google Apps Script,Google Drive Api,Google Drive Shared Drive,问题是:我在多个共享驱动器中有多个文档(特别是谷歌表单),需要替换同一个单词。一些人在这个论坛上搜索到了下面的代码,但它似乎不起作用。我没有收到任何错误消息,但当我检查文件时,没有任何更改。我检查并确保正确输入搜索字符串和替换字符串 我需要做一些不同的事情来让它检查共享驱动器中的文件吗?我试着在高级Google服务中打开驱动API,但这在第6行中给了我一个错误( var doc=DocumentApp.openById(file.getId());) 以下是我使用的代码: functi
function myFunction() {
var files = DriveApp.getFiles(); // Note: this gets *every* file in your Google Drive
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
var doc = DocumentApp.openById(file.getId());
doc.replaceText("My search string or regex", "My replacement string");
}
Logger.log("Done")
}
DriveApp.getFiles()
只返回“我的驱动器”上的文件。为了能够在共享驱动器(以前称为Team Drive)中获取文件,您必须启用驱动器高级服务,而不是
var files = DriveApp.getFiles();
使用类似
var files = Drive.Files.list(options);
相关的
驱动器
,而不是驱动应用程序
如果要检索共享驱动器并查找具有特定名称的文件,可以尝试以下操作:
代码
//版权所有2020谷歌有限责任公司。
//SPDX许可证标识符:Apache-2.0
函数retrieveFiles(){
var allDrives=Drive.Drives.list().items;
让fileName='FILE_NAME';
for(设i=0;i
解释
上面的代码使用该方法检索所有共享驱动器,然后对于每个共享驱动器,使用搜索名为FILE\u NAME
的所有文件。然后,它使用SpreadsheetApp
访问每个文件
注
请记住,代码可以定制,以满足您的具体需求
参考文献
- )
- )
- )
// Copyright 2020 Google LLC.
// SPDX-License-Identifier: Apache-2.0
function retrieveFiles() {
var allDrives = Drive.Drives.list().items;
let fileName = 'FILE_NAME';
for (let i = 0; i < allDrives.length; i++) {
var driveId = allDrives[i].id;
console.log(id)
var optionalArgs = {
'driveId': driveId,
'includeItemsFromAllDrives': true,
'corpora': 'drive',
'supportsAllDrives': true,
'q': "title=" + "'" + fileName + "'"
};
var filesReturned = Drive.Files.list(optionalArgs).items;
for (let j = 0; j < filesReturned.length; j++) {
var fileId = filesReturned[j].id;
var sheet = SpreadsheetApp.openById(fileId);
//sheet manipulation
}
}
}