Skip to content

Instantly share code, notes, and snippets.

@rapartipoorna
rapartipoorna / CreateFolders.gs
Last active April 6, 2022 03:16
[ Apps script ] Creates folders according files and script will move files into created folders. for enabling trigger run trigger.gs file which is added to this gist
function main(){
var q = "mimeType='application/vnd.google-apps.spreadsheet' or mimeType='application/vnd.google-apps.presentation' or mimeType='application/vnd.google-apps.document'"
var files = DriveApp.searchFiles(q)
while (files.hasNext()) {
var file = files.next();
var filename = file.getName();
if(filename.toString().split('_').lastIndexOf('PC')!=-1){
@rapartipoorna
rapartipoorna / copyHighlightedData_V.1.2.gs
Created August 13, 2021 19:11
[ Apps script ] This will write different color background rows data into separate sheets from spreadsheet. script should be bounded to spreadsheet.
function copyRows() {
var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
var filename = '12345'
var header = [];
var files = DriveApp.searchFiles("fullText contains "+filename+"and mimeType contains 'spreadsheet'")
while(files.hasNext()){
var nxt = files.next()
var id = nxt.getId()
var ss = SpreadsheetApp.openById(id)
@rapartipoorna
rapartipoorna / Spreadsheet_SharingPermissionsData.gs
Created August 13, 2021 10:54
[ Apps script ] this script captures the sharing permissions and other data f spreadsheet into 2 different sheets in spreadsheet. script should be bounded to spreadsheet
function myfunction(){
var pivottables = 0 , charts = 0
var outputRows = [] , editors = [] ,viewers = []
var ss = SpreadsheetApp.getActiveSpreadsheet()
var file = DriveApp.getFileById(ss.getId())
var firstSheet_Header = ["Name of File","Created","Number of People it Shared with", "Editors","Viewers","Number of PivotTables" ,"Number of Charts","Last Updated"]
var secondSheet_Header = ["Name of File","Columns" ,"Rows" ,"Pivot Tables" ,"Charts"]
var firstSheet = ss.insertSheet('Spreadsheet-Overview').appendRow(firstSheet_Header)
@rapartipoorna
rapartipoorna / copyHighlightedData_V.1.1.gs
Created August 13, 2021 10:48
[ Apps script ] This will write different color background rows data into separate sheets from spreadsheet. script should be bounded to spreadsheet.
function copyGreenRows() {
var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
var filename = 'your file name'
var header = [];
var files = DriveApp.searchFiles("fullText contains "+filename+"and mimeType contains 'spreadsheet'")
while(files.hasNext()){
var nxt = files.next()
var id = nxt.getId()
var ss = SpreadsheetApp.openById(id)
@rapartipoorna
rapartipoorna / dublicatesRemover.gs
Created August 6, 2021 04:22
[ Apps script ] it will remove all duplicates from each sheet in Active spreadsheet. script should be bounded to spreadsheet to work properly
//Removes duplicate rows from the current sheet.
function removeDuplicates() {
//Get current active Spreadsheet
// var sheet = SpreadsheetApp.getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets()
for(var s=0;s<sheets.length;s++){
//Get all values from the spreadsheet's rows
var data = sheets[s].getDataRange().getValues();
@rapartipoorna
rapartipoorna / SpreadSheetOffset_V1.0.gs
Created August 5, 2021 18:13
[ Apps script ] It will convert first column rows into columns in spreadsheet .it should be bounded to spreadsheet. when you run script menu will be created .and menu will prompts to ask 'sheet name' and 'number of rows' to give appropriate result.
function onOpen() {
var menu = [
{name: "Configure", functionName: "config_"},
null
];
SpreadsheetApp.getActiveSpreadsheet().addMenu("➪ SingleColumn Rows to Columns", menu);
@rapartipoorna
rapartipoorna / SpreadSheetOffset_V1.0.gs
Created August 5, 2021 18:13
[ Apps script ] It will convert first column rows into columns in spreadsheet .it should be bounded to spreadsheet. when you run script menu will be created .and menu will prompts to ask 'sheet name' and 'number of rows' to give appropriate result.
function onOpen() {
var menu = [
{name: "Configure", functionName: "config_"},
null
];
SpreadsheetApp.getActiveSpreadsheet().addMenu("➪ SingleColumn Rows to Columns", menu);
@rapartipoorna
rapartipoorna / UploadNotepadsData_V.1.1.py
Created August 3, 2021 17:53
[ python script ] it will capture text files data and metadata of given folder(It might be have sub folders also) and writes into spreadsheet [Here used service account for google spreadsheet API] and creates two sheets . one for metadata and second sheet contains only URL data and corresponding file name
import pandas as pd
import os
import os.path, time
import gspread , re
regex_url = 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
name = input('Please Enter Your Name : ')
Email = input('Please Enter Your office emailId : ')
directory = input('Input your directory path : ')
@rapartipoorna
rapartipoorna / UploadNotepadsData_V.1.0.py
Created July 27, 2021 11:46
[ python script ] it will capture text files data and metadata of given folder and writes into spreadsheet [Here used service account for google spreadsheet API] and creates two sheets . one for metadata and second sheet contains only URL data and corresponding file name
import pandas as pd
import os
import os.path, time
import gspread , re
regex_url = 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
name = input('Please Enter Your Name : ')
Email = input('Please Enter Your office emailId : ')
directory = input('Input your directory path : ')
@rapartipoorna
rapartipoorna / SpreadsheetDataToslides.gs
Last active April 6, 2022 03:19
[Apps Script ] script will fetch data from spreadsheet into slides. and script should be bounded to presentation document.And made changes as per your requirements per data you need
function generateLandingPagesReport() {
// Here give your data spreadsheet id
var dataSpreadsheetId = ""
var ss = SpreadsheetApp.openById(dataSpreadsheetId);
var deck = SlidesApp.getActivePresentation();
var sheet = ss.getSheetByName('content-landing-pages');
// var values = sheet.getRange('A8:J17').getValues();
var values = sheet.getRange('A2:J3').getValues();
var slides = deck.getSlides();