使用脚本打开Goog​​le工作表

时间:2019-05-28 22:03:14

标签: google-apps-script google-sheets

我想通过脚本打开文件夹中的每个文件。下面是我尝试过的。这是我对工作表中任何脚本的第一枪。

此代码可以运行,但无法打开文件,对此可能还很遥远,但我不知道如何使它打开文件。谢谢您的帮助

function myFunction() {
  var dApp = DriveApp;
  var folder = dApp.getFoldersByName("test").next();
  var filesIter = folder.getFiles(); 

  while(filesIter.hasNext()) {
    var files = filesIter.next();
    var ss = SpreadsheetApp.open(files);  
  }  
}

我只希望它在这种情况下打开“ test”文件夹中的所有文件。该文件夹中当前有两个Google工作表。

2 个答案:

答案 0 :(得分:1)

Google Apps Script服务器端代码无法在客户端执行操作,例如在用户网络浏览器中打开电子表格,但是您可以使用HTML Service来使用客户端代码来实现您的目标。

相关

答案 1 :(得分:1)

您可以从脚本读取打开的文件,但不能以用户可以打开文件的方式读取。您可以在服务器上打开它们并读取和/或写入数据,但是该文件无法像在以用户身份打开文件时那样在编辑模式下打开。

这是一个脚本,可打开电子表格并读取其名称和ID,并将其返回到Web应用。

HTML:

[|("AccountCreated", [|"AccountCreatedArgs"|]);
  ("AccountCredited", [|"Transaction"|]);
  ("AccountDebited", [|"Transaction"|])|]

CODE.gs:

<html>
<head><title></title>
</head>
<body>

<div id="data"></div>


<script>
  window.onload=function(){
    google.script.run
    .withSuccessHandler(function(ssA){
      var html='';
      for(var i=0;i<ssA.length;i++) {
        html+='<br />' + 'Name: ' + ssA[i].name + ' Id: ' + ssA[i].id;
      }
      document.getElementById('data').innerHTML=html;

    })
    .readSpreadsheetsInAFolder();
  }
  </script>
  </body>
  </html>

此功能是为我的帐户编写的,因此您可能必须修改文件夹名称才能使其在您的帐户上正常工作。