【发布时间】:2019-10-21 17:28:15
【问题描述】:
我输入了 ziganotschka 在https://stackoverflow.com/a/57865441/12252776 上发布的以下代码:
function myFunction() {
var oldLink="http://www.googledoclink1.com";
var newLink="http://www.googledoclinkA.com";
var oldLink2="http://www.googledoclink2.com";
var newLink2="http://www.googledoclinkB.com";
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());
var link=doc.getBody().findText(oldLink).getElement().asText();
var link2=doc.getBody().findText(oldLink2).getElement().asText();
link.setLinkUrl(newLink);
doc.replaceText(oldLink, newLink);
link2.setLinkUrl(newLink2);
doc.replaceText(oldLink2, newLink2);
}
Logger.log("Done")
}
...但我收到以下错误消息:
TypeError: Cannot call method "getElement" of null. (line 11, file "Replace Hyperlinks")
我该如何解决这个问题?我该怎么办?
我也只是想从一个文件夹中提取文件,而不是我的 Google Drive 中的所有文件,所以我替换了
var files = DriveApp.getFiles();
与
var files = DriveApp.getFolderById("insert folder ID").getFiles();
这样会行,对吧?
谢谢你, 劳伦
【问题讨论】:
-
在你的脚本中,如果Google Document中没有
http://www.googledoclink1.com和http://www.googledoclink2.com的文字,就会出现这样的错误。所以请再次确认。如果您修改后仍出现相同的错误,您能否提供一个示例 Google 文档来复制该问题?当然,请删除您的个人信息。 -
嗨,我应该澄清一下我将链接更改为我自己的链接。从特定文件夹中提取文件的链接和代码都是我在 ziganotschka 的代码中修改的唯一内容。
-
感谢您的回复。我注意到已经发布了答案,并且讨论已经进行了。我认为它会解决您的问题。
-
感谢您的帮助!
标签: google-apps-script hyperlink google-docs drive