2017-03-17 1 views
0

Ich habe ein Skript, das lädt die (Dateiname, URL, erstellt und zuletzt geändert) in meine sheet (Registerkarte Links). Ich habe diese Registerkarte verwendet, um alle entsprechenden URLs zu den anderen 4 Registerkarten (Norden, Süden, Osten, Westen) speziell in Spalte F nachzuschlagen. Meine Frage ist, wie das Skript automatisch sofort ausgeführt werden kann, damit die Registerkarte 'Links' aktualisiert wird, ohne auszulösen manuell die Schaltfläche "Ausführen". Die Funktion meines Skripts besteht darin, alle Dateninformationen in diesem drive zu laden. Alles, was ich zum "Links" -Reiter möchte, muss sofort aktualisiert werden, wenn ich ein Bild auf das besagte Laufwerk hochgeladen habe.Wie führe ich automatisch ein Google-App-Skript aus? Ist es ausreichend, einen Trigger zu setzen?

Hier ist das Skript, das ich zur Zeit renne:

//GLOBAL VARIABLES 

var ss = SpreadsheetApp.getActiveSpreadsheet() 
    .getSheets()[0]; 
var listCell = 'B1'; 
var idRange = 'A2:B2'; 
var idCell = 'B2'; 


function list() { 

    var arr, files, file, data, sheet; 

    arr = [["FILE NAME", "URL", "CREATED", "LAST MODIFIED"]]; 
    files = DriveApp.getFolderById("0B-2cWUKgEfm9RVpaTkJFQU9zZzA") 
     .getFiles() 
    while (files.hasNext()) { 
     file = files.next(); 
     arr.push([file.getName(), file.getUrl(), file.getDateCreated(), file.getLastUpdated(), ]); 
    } 
    SpreadsheetApp.getActive() 
     .getSheetByName('Links').getRange(1, 1, arr.length, arr[0].length) 
     .setValues(arr) 
} 
+0

Ja, Sie können einen Trigger verwenden, um das Skript automatisch auszuführen. Ich empfehle Ihnen, diese [Installierbare Auslöser] (https://developers.google.com/apps-script/guides/triggers/installable) zu überprüfen, damit ein Apps-Skript eine Funktion automatisch ausführt, wenn ein bestimmtes Ereignis wie z Öffnen eines Dokuments, erfolgt. Installierbare Trigger bieten mehr Flexibilität als einfache Trigger, sie können Dienste aufrufen, die eine Autorisierung erfordern, sie bieten mehrere zusätzliche Ereignistypen einschließlich zeitgesteuerter (Takt-) Trigger und sie können programmgesteuert gesteuert werden. – KENdi

Antwort

0

Google Drive nicht erlaubt (für den Moment) Auslöser für Drive Ereignisse zu setzen (wie Hochladen, Löschen oder Bearbeiten von Dateien).

Sie können jedoch einen zeitgesteuerten Trigger für Ihre Funktion mit 1 Minute Periode (die höchste Frequenz) im Skript-Editor einstellen, indem Sie die Taste Current project's triggers drücken.

Ihr Problem könnte teilweise gelöst werden, wenn Sie ein G Suite-Konto haben. Mit G Suite können Sie Dateien über Google Formulare hochladen. In diesem Fall können Sie ein Trigger-Formular-Formular-Ereignis hinzufügen.

Verwandte Themen