gpt4 book ai didi

google-apps-script - 复制文件后获取文档的 URL/ID

转载 作者:行者123 更新时间:2023-12-04 16:38:51 25 4
gpt4 key购买 nike

我试图让新复制的文档在复制完成后更新,添加到不同的文件夹并删除其根文件。 Google 脚本无法找到新复制的文件。错误位于代码的下半部分,用星号包围并带有 TypeError。

我怀疑它与 var doc = DocumentApp.getActiveDocument(); 这行有关。我不确定如何获取新复制文档的 URL(file2Date - Weekly Agenda)。

  function copyupdateWeeklyAgenda() {
var file = DriveApp.getFileById("FILEKEY");
var source_folder = DriveApp.getFolderById("FOLDERKEY");
var dest_folder = DriveApp.getFolderById("FOLDERKEY");
// Make a backup copy.
var file2 = file.makeCopy('Date - Weekly Agenda');
dest_folder.addFile(file2);
source_folder.removeFile(file2);

//START Update Weekly Agenda Data ---
var ssUrl = 'https://whydoyouwanttoknow.com';
var sheetName = 'Sheet1'; // name of sheet to use
var rangeName = 'A1:B2'; // range of values to include
var values = SpreadsheetApp.openByUrl(ssUrl)
.getSheetByName(sheetName)
.getRange(rangeName)
.getValues();
var doc = DocumentApp.getActiveDocument();
**var body = doc.getBody();** <--- TYPEERROR: Cannot call method "getBody" of null.
var ranges = doc.getNamedRanges('embeddedSheet-range');
if (ranges.length == 0) {
var table = body.appendTable(values);
...ETC.

最佳答案

您的file2 变量是类File 的一个对象,因为这就是File#makeCopy。返回。要获取相应的Document,请使用

var doc = DocumentApp.openById(file2.getId());

备注

  1. getActiveDocument 方法引用脚本附加到的文档(如果有)。它并不意味着“脚本当前正在处理的事情”。

  2. 如果您正在处理电子表格,则 var ss = SpreadsheetApp.open(file2) 将返回 file2 Spreadsheet。显然,API 设计者忘记在 DocumentApp 中包含 open 方法,因此我们必须像上面那样检查文件 ID。

关于google-apps-script - 复制文件后获取文档的 URL/ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41071264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com