【发布时间】:2019-11-18 20:21:41
【问题描述】:
我正在努力编写可以满足我所有需求的代码,但在函数末尾返回一条错误消息,这会阻止脚本的其余部分运行。
我正在使用这个脚本:
function abc(){
var fileName = "file name";
var tabName = "tab";
clear(tabName,"A:AE");
var excelFile = DriveApp.getFilesByName(fileName).next();
var fileId = excelFile.getId();
var folderId = "folder id";
var blob = excelFile.getBlob();
var resource = {
title: excelFile.getName(),
mimeType: MimeType.GOOGLE_SHEETS,
parents: [{id: folderId}],
};
var id = Drive.Files.insert(resource,blob).id;
var newsheet = SpreadsheetApp.openById(id).getSheets()[0].getRange("A:AE").getValues();
SpreadsheetApp.getActive().getSheetByName(tabName).getRange("A:AE").setValues(newsheet);
Logger.log("ok so far");
Drive.Files.remove(id);
}
我想删除我刚刚创建的文件,它做得很好,但是它会生成如下错误消息:
文档 1b0pLioLpwZndFuW4kRQzxd5gkfZjWFIT5Qr8HV-LJvo 丢失(可能它已被删除,或者您没有读取权限?)
它创建文件,将值复制到另一个电子表格,然后删除创建的文件,就像它必须要做的那样。然后脚本结束,我还需要运行其他功能。
知道怎么解决吗?
我也尝试了DriveApp.removeFile(file),,但脚本完成并且不会从文件夹中删除文件。
这是错误信息:
“文档 1TVRiqJKN_bSXLW8B02XzUlTOUgT192prUYYwvBwu89w 丢失(可能已被删除,或者您没有读取权限?)”
这是脚本生成的日志:
[19-11-19 08:58:22:466 PST] TSC cleaned
[19-11-19 08:58:22:466 PST] TSC has started
[19-11-19 08:58:26:737 PST] TSC file generated on ID = 1TVRiqJKN_bSXLW8B02XzUlTOUgT192prUYYwvBwu89w
[19-11-19 08:58:27:363 PST] 1TVRiqJKN_bSXLW8B02XzUlTOUgT192prUYYwvBwu89w
[19-11-19 08:58:27:497 PST] TSC copied to destination sheet and id = 1TVRiqJKN_bSXLW8B02XzUlTOUgT192prUYYwvBwu89w
[19-11-19 08:58:28:171 PST] TSC file deleted
[19-11-19 08:58:30:323 PST] TSC imported
最后一行“TSC Imported”是函数的最后一行,所以看起来它正在完成函数但最后消息来了。我可能不得不尝试其他选项而不是 Drive API。谢谢你们的帮助,如果我成功了,我会告诉你们的。
【问题讨论】:
-
您在代码中的什么位置定义了 Drive 是什么?这看起来完全一团糟。请做一个最简单的例子,说明你正在尝试做的事情,而不需要所有额外的东西。
-
我启用了 Drive API。我想将一个 excel 文件导入到我已经拥有的工作表中,我发现最简单的方法是从 excel 文件创建一个 GSheets 文件,然后将该文件的值导入到我拥有的工作表中。所以我从 excel 文件创建了一个 GSheet,将数据复制到我的工作表,然后删除创建的文件。一切正常,但吃完它会产生该错误,我将该函数移至顺序的最后一个,因此它完全可以正常运行脚本,但最后仍会产生错误。
-
尝试在删除前暂停代码:
Utilities.sleep(5000);Drive.Files.remove(id); -
@Alexandre 你为什么不直接用 DriveApp 删除文件我不明白你为什么需要使用 Drive API?
-
我正在使用 Drive API 创建文件,当我使用 DriveApp 删除文件时,脚本完成但不会从文件夹中删除文件。
标签: google-apps-script google-sheets google-drive-api