Откройте Google лист со скриптом - PullRequest
0 голосов
/ 29 мая 2019

Я хотел бы открыть каждый файл в папке с помощью скрипта.Ниже я попробовал.Это мой первый снимок любого сценария в листах.

Этот код запускается, но не открывает файл, я могу быть в миле от этого, но не могу понять, как заставить его открывать файлы.Спасибо за вашу помощь

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);  
  }  
}

Я просто хочу, чтобы он открыл все файлы в папке в этом случае "тест".в данный момент в папке два листа google.

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Вы можете читать открытые файлы из скриптов, но не так, как пользователи могут открывать файлы.Вы можете открывать их на сервере и читать и / или записывать данные, но файл не открывается в режиме редактирования, как при открытии его как пользователь.

Вот скрипт, который открывает электронные таблицы ичитает их имя и идентификатор и возвращает их в веб-приложение.

HTML:

<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>

CODE.gs:

function readSpreadsheetsInAFolder() {
  var ssA=[];
  var folders=DriveApp.getFoldersByName("LinkedSpreadsheets");
  while(folders.hasNext()){
    var folder=folders.next();
    var files=folder.getFilesByType(MimeType.GOOGLE_SHEETS);
    while(files.hasNext()) {
      var file=files.next();
      var ss=SpreadsheetApp.openById(file.getId());
      ssA.push({name:file.getName(),id:file.getId()});
    }
  }
  return ssA;
}

Эта функция была написана для моего аккаунта, поэтомувозможно, вам придется изменить имя папки, чтобы оно работало в вашей учетной записи.

1 голос
/ 29 мая 2019

Серверный код скрипта Google Apps не может выполнять такие действия на стороне клиента, как открытие электронной таблицы в пользовательском веб-браузере, но вы можете использовать службу HTML, чтобы использовать код на стороне клиента для достижения своей цели.

Связано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...