Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script TypeError:无法调用方法";getActiveSheet";空值。at myFunction(代码:6)_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script TypeError:无法调用方法";getActiveSheet";空值。at myFunction(代码:6)

Google apps script TypeError:无法调用方法";getActiveSheet";空值。at myFunction(代码:6),google-apps-script,google-sheets,Google Apps Script,Google Sheets,在日志中,我可以看到应用程序被定义为SpreadsheetApp,但getActiveSpreadsheet()返回null。这反过来会导致getActiveSheet()说它不能用null调用方法 我已经尝试清除我的浏览器历史记录,打开一个新的空白电子表格,但得到相同的错误 function myFunction() { var app = SpreadsheetApp; Logger.log(app); var ss = app.getActiveSpreadsheet()

在日志中,我可以看到应用程序被定义为SpreadsheetApp,但getActiveSpreadsheet()返回null。这反过来会导致getActiveSheet()说它不能用null调用方法

我已经尝试清除我的浏览器历史记录,打开一个新的空白电子表格,但得到相同的错误

function myFunction() {
  var app = SpreadsheetApp; 
    Logger.log(app);
  var ss = app.getActiveSpreadsheet(); 
    Logger.log(ss);
  var activeSheet = ss.getActiveSheet();
TypeError:无法调用null的方法“getActiveSheet”。在myFunction(代码:6)

问题: 您正在尝试运行独立脚本,就像它们绑定到电子表格一样。(使用
getActive…

从类电子表格文档中:

在电子表格上下文中运行的函数可以通过调用此函数获取对相应电子表格对象的引用


选项:
  • 打开工作表,进入
    Tools>scripteditor
    ,然后从那里运行脚本,将脚本绑定到电子表格
  • 不要使用
    getActiveSpreadsheet()
    ,而是使用
    SpreadsheetApp.openById('id')
    SpreadsheetApp.openByUrl('url')
    。这些将通过其唯一的ID或URL打开电子表格,并可从独立脚本中使用

  • 参考资料:

  • 请提供有关您尝试执行的操作的更多上下文,以便您的问题更容易理解。您如何访问执行代码的脚本文件?您是通过单击电子表格中的工具->脚本编辑器来打开它,还是它是一个独立的应用程序脚本文件?它是一个独立的应用程序脚本文件。因此,我在电子表格中使用了工具>脚本编辑器,并将代码复制到一个新脚本中,它当然起作用了。既然我已经独立编写了一些应用程序脚本,那么如何在我稍后打开的与此代码无关的电子表格中使用它们呢?