Google sheet Error: Exception: Cannot call SpreadsheetApp.getUi() from this context. onOpen @ Code.gs:3

Viewed 27

When i call the function List Files/Folders from the toolbar, i get the exception Cannot call SpreadsheetApp.getUi() from this context. onOpen @ Code.gs:3

Thanks in advance. Below is some of the code. apologies on the formatting.

   function onOpen() {
   var SS = SpreadsheetApp.getActiveSpreadsheet();
   var ui = SpreadsheetApp.getUi();
   ui.createMenu('List Files/Folders')
    .addItem('List All Files and Folders', 'listFilesAndFolders')
    .addToUi();
   };

   function listFilesAndFolders(){
   var folderId = Browser.inputBox('Enter folder ID', Browser.Buttons.OK_CANCEL);
   if (folderId === "") {
   Browser.msgBox('Folder ID is invalid');
   return;
   }
   getFolderTree(folderId, true); 
   };

  // Get Folder Tree
  function getFolderTree(folderId, listAll) {
  try {
  // Get folder by id
  var parentFolder = DriveApp.getFolderById(folderId);

   // Initialise the sheet
   var file, data, sheet = SpreadsheetApp.getActiveSheet();
   sheet.clear();
   sheet.appendRow(["Full Path", "Name","Type" ,"Date", "URL", "Last Updated", 
  "Description", "Size","Owner Email"]);

  // Get files and folders
  getChildFolders(parentFolder.getName(), parentFolder, data, sheet, listAll);
  } catch (e) {
  Logger.log(e.toString());
  }
 };
0 Answers
Related