I have followed the instructions here: how to run google app script function from another project
with the intention of running a function to take place in project 1, from project 2.
What is happening though, is the function is taking place in project 2.
Is this a normal behaviour, or do I need to give a file ID in my function in project 1 or something like that?
Any advice would be gratefully received! Thanks
Example function code:
function loadSgdata() {
SpreadsheetApp.getActive().toast("Importing Subgrade Data...");
var FldrId = '10flFnQPAygo3PAkja9Gymm_RlZYMQHXh';
var FileName = 'SGMaster.rpt';
var sheet_Name = "Import Raw SG"
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet_Name)
ss.getRange('A1:A').clearContent();
//Reference to the folder
var fldr = DriveApp.getFolderById(FldrId);
//Get files by that name
var allFilesInFolder = fldr.getFilesByName(FileName);
Logger.log('allFilesInFolder: ' + allFilesInFolder);
if (allFilesInFolder.hasNext() === false) {
return false;
};
var cntFiles = 0;
//Even if it's only one file, must iterate a while loop in order to access the file (Google drive will allow multiple files of the same name)
var delimiter = "\t"; // Added
while (allFilesInFolder.hasNext()) {
var thisFile = allFilesInFolder.next();
cntFiles = cntFiles + 1;
Logger.log('File Count: ' + cntFiles);
var docContent = thisFile.getBlob().getDataAsString(); // Modified
Logger.log('docContent : ' + docContent );
var csv = Utilities.parseCsv(docContent, delimiter); // Added
ss.getRange(ss.getLastRow() + 1, 1, csv.length, csv[0].length).setValues(csv); // Added
}
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet_Name)
r1=sheet.getRange("A26:A")
r2=sheet.getRange("A26:A")
data=r1.getValues();
for (i=0;i<data.length;i++)
{
data[i][0] = data[i][0].toString().substring(0,6) + data[i][0].toString().substring(14);
}
r2.setValues(data);
}