Je suis une recrue totale, alors s'il vous plaît pardonnez-moi si c'est un 'duh'.Easy one: le script "Create Folder" écrase ses entrées précédentes
J'ai modifié un script afin de créer un nouveau dossier Gdrive pour chaque formulaire soumis. Le problème est que chaque fois que le script s'exécute, il recrée un dossier pour chaque ligne de la feuille de calcul. Qu'est-ce que je rate?
function folderMaker(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 1');
var last = sheet.getLastRow();//end of roster size
Logger.log('last '+last);
for(var i=2;i<last+1;i++){
var TimeStamp = sheet.getRange(i,1).getValue();//get timestamp code
var eLastName = sheet.getRange(i,39).getValue();//get Employee's Last NameID
var eFirstName = sheet.getRange(i,40).getValue();//get Employee's Last NameID
var eID = sheet.getRange(i,38).getValue();//get Employee's Last NameID
var folder = DriveApp.createFolder(eLastName + ' ' + eFirstName + ' - ' + eID + ' ('+TimeStamp + ')');
var aFolder = folder.getName();
var aFolderId = folder.getId();
var aFolderUrl = folder.getUrl();
sheet.getRange(i, 82).setValue(aFolder);
sheet.getRange(i, 83).setValue(aFolderId);
sheet.getRange(i, 84).setValue(aFolderUrl);
//Add analyst folders to HRC folder
var HRCFolderID = '[insert form id]'
var HRCFolder = DriveApp.getFolderById(HRCFolderID);
var analystFolder = DriveApp.getFolderById(aFolderId);
HRCFolder.addFolder(analystFolder);//put analyst folder in HRC folder
DriveApp.getRootFolder().removeFolder(analystFolder);//take analyst folder out of Google Drive
Vous n'avez pas besoin d'une boucle 'for'. Vous devez avoir un déclencheur "Soumission sur formulaire" dans votre feuille de calcul qui obtient les valeurs de la soumission de formulaire, puis crée le dossier. Pas besoin d'obtenir ou de parcourir toutes les valeurs de la feuille de calcul. Vous pouvez utiliser la propriété 'values' de l'objet événement pour obtenir ces valeurs de soumission de formulaire. [Documentation sur les scripts d'applications - Objet d'événement - Feuille - Soumission d'un formulaire] (https://developers.google.com/apps-script/guides/triggers/events#form-submit) –
Merci pour votre réponse Sandy! Malheureusement, je ne suis pas assez versé pour appliquer ce dont vous parlez ici. J'ai un déclencheur On Form Submit sur ceci, mais je ne suis pas sûr de ce qui fait que le script boucle. C'est littéralement la première fois que j'ai modifié un script dans cette mesure. – Marvin
Nevermind! Je l'ai! Merci beaucoup. – Marvin