首页 > 解决方案 > 更新代码以使用高级谷歌服务后出现“找不到 insertSheet 函数”错误

问题描述

我刚刚更新了我的脚本以使用新的高级谷歌服务。在这种情况下,我在文件夹中插入了一个文件,现在我需要格式化文件:插入工作表、更改颜色等。

我在处理文件时遇到问题,因为使用此服务后我无法让文件使用它,我收到此错误:

“在对象 FileIterator 中找不到 insertSheet 函数”。

如果你能把我带到一个我能找到解决方案的地方,那将非常有帮助。

这是我正在使用的代码:

function HAR() {
//This is the new part of the code...
var name = "Template";
var folder = DriveApp.createFolder("HAR");
var folder_id = folder.getId();
var resource = {
    title: name,
    mimeType: MimeType.GOOGLE_SHEETS,
    parents: [{ id: folder_id }]
  }
var fileJson = Drive.Files.insert(resource);
var File_id = fileJson.id;
var Template = DriveApp.getFilesByName("Template");// I guess this is not working
//This is the old part of the code...
const ssNames = ["California","Arizona","Florida","Los Angeles"];
const states = ssNames.length;
var x;
    for (x = 0; x < sNames.length; x++){
    Template.insertSheet(sNames[x]); //I can't manage to insert the sheets
    }
Template.getSheetByName("Sheet 1").activate();
Template.deleteActiveSheet(); 
}

标签: google-apps-scriptgoogle-drive-api

解决方案


Template是 aFileIterator.所以它被分配了一个值,但是你的代码没有显示Template为被分配了一个值,所以你必须有其他你没有显示的代码。

FileIterator只有 3 种方法可用:

  • getContinuationToken()
  • hasNext()
  • next()

您可能希望将工作表插入到新创建的电子表格文件中。

var File_id = fileJson.getId();
var newSS_file = SpreadsheetApp.openById(File_id);

推荐阅读