【问题标题】:TypeError: Cannot find function getSheets in object - looking for what's wrongTypeError:在对象中找不到函数 getSheets - 查找问题所在
【发布时间】:2016-09-11 20:48:41
【问题描述】:

在运行这段代码时,执行这一行时出错:

var invoiceSheet = newSSFile.getSheets()[0];' 

“TypeError:在 Invoice Przykładowy 的对象副本中找不到函数 getSheets。(第 69 行,文件“代码”)”

我想要这段代码:

  1. 创建一个新的电子表格并将其移动到正确的文件夹 [works]

  2. 从另一个电子表格中获取一个值并将其粘贴到这个新电子表格中 [错误]

找了一个小时没有结果。知道什么可能导致此错误吗?

function invoice() {

//Create copy SS + name
var ssTemp = SpreadsheetApp.openById("1Cr2W_4lNrHYRdXK-KDQ7UFJJ3Iagh-tGct8Ee5Y");
var newSS = ssTemp.copy("Copy of " + ssTemp.getName());
// Move to folder
var DestinyFolder = DriveApp.getFolderById("0B-y1OC8ChG2XRjRRbEJ");
var newSSFile = DriveApp.getFileById(newSS.getId()); 
DestinyFolder.addFile(newSSFile);
DriveApp.getRootFolder().removeFile(newSSFile); 


// Modify details
// Invoice No  
var klienciSS = SpreadsheetApp.openById("18B151VlJaVtDdQ9CcLrL3iwRAtWw2ZzZydproj");
var klienciSheet = klienciSS.getSheets()[0];
var klienciRange= klienciSheet.getRange('AB6');
var klienciValue = klienciRange.getValue(); 
var invoiceSheet = newSSFile.getSheets()[0];
var inboiceRange = invoiceSheet.getRange('F4'); 
newCellInvoice.setValue(klienciValue); 

【问题讨论】:

  • 请解释您要达到的目标。只能猜测您正在尝试使用 Google 云端硬盘和电子表格做某事,但除非您提供更多详细信息,否则没有人会回答您的问题。
  • 1.创建一个新的电子表格并将其移动到正确的文件夹 [工作] 2. 从另一个电子表格中获取一个值并将其粘贴到这个新的 [错误]
  • 请看How to Ask,更具体的看minimal reproducible example(代码不完整)。

标签: google-sheets


【解决方案1】:

问题是由下面这行引起的

var newSSFile = DriveApp.getFileById(newSS.getId()); 

这使得 newSSFile 拥有一个 Class File 的实例,而不是一个 Class Spreadsheet 的实例

但有问题的行看起来没有必要。将引发错误的行替换为

var invoiceSheet = newSS.getSheets()[0]; 

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 2015-09-27
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多