如何通过电子表格中的脚本打开工作表?

时间:2019-09-06 12:44:57

标签: google-apps-script

我在Google云端硬盘上有一个名为“ Titito”的表格。我使用import sys # Read the variable from STDIN #begin is the beginning and end is for storing the end value #taking the user input for the start and end points of the integer t=int(sys.stdin.readline()) l=[] while t: n=1 a=int(sys.stdin.readline().split()) start=int(a[0]) end=int(a[1]) if (end-start<10 and end-start>10 and start<=0,end>=100): print("Difference Not in Range!") if start<=0 and end>=100: print("Out of Range!") else: while start<end: start=start+1 l.append(start) # Output the variable to STDOUT STDOUT=print(l)` 将其打开,但返回:

  

ReferenceError:未定义“ Titito”。 (ligne 5,fichier“宏”

当我尝试通过其URL打开它时:

SpreadsheetApp.open(Titito)

它返回:

  

您无权调用SpreadsheetApp.openByUrl。所需权限:

这是我创建的文件。

如何通过其他工作表中的脚本打开驱动器中的工作表?

我只是想知道如何做,就像我在Visual Excel(Workbooks.Open Filename:=“ c:\ TermFB \ Charges \ chargecpt.xls”)上一样,但是在Google脚本上

谢谢。

2 个答案:

答案 0 :(得分:0)

如果“ Titito”是实际文件的名称,则SpreadsheetApp.open(Titito)不能实现;您可以在the documentation中看到它使用文件对象。为了通过名称获得名称,您将需要使用DriveAppDocumentation here)。有了它,您可以在云端硬盘中获取文件并获取所需的文件,其代码如下所示:

function fn(){
  var files = DriveApp.getFiles();
  var file;
  while (files.hasNext()){
    file = files.next();
    if (file.getName() == "Titito")
      break;
  }
  var ss = SpreadsheetApp.open(file).getUrl();
  // rest of your code...
}

更新

OP需要一种通过脚本打开实际电子表格的方法,按照this video中的说明进行操作之后,他们便能够实现所需的功能。

答案 1 :(得分:0)

function myFunction(){

//创建并打开一个名为Toto的文件

var ssNew = SpreadsheetApp.create('Toto'); var tyty = ssNew.getUrl();

// var selection = SpreadsheetApp.getActiveSheet()。getActiveCell()。getValue();

var html =“ window.open('” + tyty +“'); google.script.host.close();”;

var userInterface = HtmlService.createHtmlOutput(html)

SpreadsheetApp.getUi()。showModalDialog(userInterface,'打开标签');

}

感谢AMolina对我使用Google脚本的第一步非常有帮助!