In here I am trying to pass/get a variable from Code.gs to NewFile.gs. I would like to pass a folderIdwhich i get it from input box and use it in different file gs instead of inserting manually.
Here is the code:
Code.gs
if (userInput == "yes") {
var folderId = Browser.inputBox('Enter folder ID', Browser.Buttons.OK_CANCEL);
}
var parent = DriveApp.getFolderById(folderId);
var parentName = DriveApp.getFolderById(folderId).getName();
NewFile.gs
function newFileUpdate() {
var parent = DriveApp.getFolderById("folderId from input box");
var parentName = DriveApp.getFolderById("folderId from input box").getName();
getChildFiles(parentName, parent);
getRootFiles(parentName, parent);
}
So i would like to know a simple way for me to get the folder id from code.gs into NewFile.gs
You can always pass variables around via function arguments.
Your code.gs can pass the variable you want to newFileUpdate/0 by giving it a function arity of 1, which is to say "Give the function an argument" like...
Code.gs
// add variable
var folderId;
if (userInput == "yes") {
folderId = Browser.inputBox('Enter folder ID', Browser.Buttons.OK_CANCEL);
}
var parent = DriveApp.getFolderById(folderId);
var parentName = DriveApp.getFolderById(folderId).getName();
// Send folderId to newFileUpdate/1
newFileUpdate(folderId);
NewFile.gs
// added argument folderId to function
function newFileUpdate(folderId) {
var parent = DriveApp.getFolderById(folderId);
var parentName = DriveApp.getFolderById(folderId).getName();
getChildFiles(parentName, parent);
getRootFiles(parentName, parent);
}
edit: Just realized I misunderstood the question and how you structured your code. You're trying to get the folderId down into your NewFile.gs