Reputation: 35
In here I am trying to pass/get a variable from Code.gs to NewFile.gs. I would like to pass a folderId
which 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
Upvotes: 0
Views: 541
Reputation: 161
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
Upvotes: 2