我正在处理共享Google云端硬盘文件夹中的项目,我们最近了解到,我们需要更改一些字符串,这些字符串可以在所有文档中找到,但字符串略有不同。有数百个文件,并且不可能一个接一个地浏览它们,经过一番查看后我找到了一个通用查找和替换脚本。
https://ctrlq.org/code/19926-universal-find-replace-in-google-drive
问题是,我对代码几乎没有经验,即使使用网站上给出的说明,我也不知道我对脚本的处理方式。所有这些对我来说都是胡言乱语,如果有人能引导我完成所有这些,我会感到难以置信。
问题:
此外,是否可以在单个脚本中替换多个字符串? (即将所有"红色"更改为"蓝色"并将所有"黑色"更改为"白色")
提前谢谢大家,这可能会成为救星?
答案 0 :(得分:0)
您可能需要查看Apps脚本Drive Service和Document Service,以帮助您更熟悉要使用的类和功能。
此服务允许脚本在Google云端硬盘中创建,查找和修改文件和文件夹。
此服务允许脚本创建,访问和修改Google文档文件。
使用示例代码:
// Log the name of every folder in the user's Drive.
var folders = DriveApp.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
Logger.log(folder.getName());
}
您可以设置
var newFolder = DriveApp.createFolder('My New Folder');
//To check if you successfully created a folder
Logger.log(newFolder.getId())
//To set sub folder under "My New Folder"
var id = newFolder.getId()
var subFolder = newFolder.createFolder('New Sub Folder')
<强> 2。我在哪里指定需要替换的字符串?我可以明显地告诉doc.replaceText与它有关,但事实上它说'#34;你也可以使用正则表达式&#34;让我感到好奇的是,在此之前我还需要改变什么?
您可以使用findText(searchPattern, from)
从给定的搜索结果开始,搜索元素的内容以查找指定的文本模式。
不完全支持JavaScript正则表达式功能的子集,例如捕获组和模式修饰符。
提供的正则表达式模式独立地匹配当前元素中包含的每个文本块。
第3。我该如何制作脚本代码的副本以及我在Google云端硬盘中放置文件的位置?
您可以使用Apps Script Console创建代码,这些代码会放在您drive folder。
最后,这是一个示例代码,它将更改text的颜色:
var body = DocumentApp.getActiveDocument().getBody();
// Use editAsText to obtain a single text element containing
// all the characters in the document.
var text = body.editAsText();
// Insert text at the beginning of the document.
text.insertText(0, 'Inserted text.\n');
// Insert text at the end of the document.
text.appendText('\nAppended text.');
// Make the first half of the document blue.
text.setForegroundColor(0, text.getText().length / 2, '#00FFFF');
希望它有所帮助!