I wrote the following script that looks through every starred file in Google Drive and executes two functions. The problem is, the functions are not actually doing their thing in the files. I'm new to scripting so any help or insight helps!
function runMacroOnStarredFiles(folder = DriveApp.getRootFolder()) {
const ss = SpreadsheetApp.getActive();
const files = folder.getFiles();
while (files.hasNext()) {
let file = files.next();
if(file.isStarred() && file.getMimeType() == MimeType.GOOGLE_SHEETS) {
SpreadsheetApp.openById(file.getId()).getSheets().forEach(sh => {
if(sh.getName() !== null) {
Newrowmacro();//the macro
function Newrowmacro() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('19:19').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('A19').activate();
spreadsheet.getCurrentCell().setFormula('=TODAY()');
spreadsheet.getRange('H19').activate();
spreadsheet.getCurrentCell().setFormula('=TODAY()');
spreadsheet.getRange('M19').activate();
spreadsheet.getCurrentCell().setFormula('=TODAY()');
spreadsheet.getRange('A19').activate();
spreadsheet.getActiveRangeList().setBorder(null, null, null, true, null, null, '#000000', SpreadsheetApp.BorderStyle.SOLID);
spreadsheet.getRange('E22').activate();
};
}
});
}
}
const subfolders = folder.getFolders()
while (subfolders.hasNext()) {
let subfolder = subfolders.next();
runMacroOnStarredFiles(subfolder);
}
}
function runMacroOnStarredFiles(folder = DriveApp.getRootFolder()) {
Logger.log(folder.getName());
const ss = SpreadsheetApp.getActive();
const files = folder.getFiles();
while (files.hasNext()) {
let file = files.next();
Logger.log(file.getName());
if (file.isStarred() && file.getMimeType() == MimeType.GOOGLE_SHEETS) {
SpreadsheetApp.openById(file.getId()).getSheets().forEach(sh => {
enternewrow();//the macro
});
}
}
const subfolders = folder.getFolders()
while (subfolders.hasNext()) {
let subfolder = subfolders.next();
runMacroOnStarredFiles(subfolder);
}
}