Extract the URL from a Hyperlink in Google Sheets
In This Article, You Will Learn How To Extract All Links Of Your Files From Google Drive. If You Want More Articles Follow Stamflay Check Updates Regularly.
Code:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getActiveSheet(); var c1 = s.getRange("B2"); var c2 = s.getRange("A2") var fldr = DriveApp.getFolderById("1siQFXCEikemWqAeLNs7RR69Rfc20Pd5D"); var files = fldr.getFiles(); var urls = [], ids = [], f, str; while (files.hasNext()) { f = files.next(); str = '=hyperlink("' + f.getUrl() + '")'; urls.push([str]); //ids.push([f.getName()]); //Filename with extensions ids.push([f.getName().replace(/.[^/.]+$/, "")]); //Remove filename extensions } s.getRange(c1.getRow(), c1.getColumn(), urls.length).setFormulas(urls); s.getRange(c2.getRow(), c2.getColumn(), ids.length).setValues(ids); } ============================================================================================ 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()); } }; // Get the list of files and folders and their metadata in recursive mode function getChildFolders(parentName, parent, data, sheet, listAll) { var childFolders = parent.getFolders(); // List folders inside the folder while (childFolders.hasNext()) { var childFolder = childFolders.next(); var folderId = childFolder.getId(); data = [ parentName + "/" + childFolder.getName(), childFolder.getName(), "Folder", childFolder.getDateCreated(), childFolder.getUrl(), childFolder.getLastUpdated(), childFolder.getDescription(), childFolder.getSize()/1024, childFolder.getOwner().getEmail() ]; // Write sheet.appendRow(data); // List files inside the folder var files = childFolder.getFiles(); while (listAll & files.hasNext()) { var childFile = files.next(); data = [ parentName + "/" + childFolder.getName() + "/" + childFile.getName(), childFile.getName(), "Files", childFile.getDateCreated(), childFile.getUrl(), childFile.getLastUpdated(), childFile.getDescription(), childFile.getSize()/1024, childFile.getOwner().getEmail(), ]; // Write sheet.appendRow(data); } // Recursive call of the subfolder getChildFolders(parentName + "/" + childFolder.getName(), childFolder, data, sheet, listAll); } };