Wenn Sie für die Benennung Ihrer Blätter zu dem Muster ‚MM_YYYY‘ bleiben werden, wird der folgende Code aktiviert immer das Blatt mit dem Endtermin. Wenn Sie verschiedene Benennungsmuster in einem einzelnen Dokument verwenden möchten, müssen Sie den folgenden Code umgestalten, um dies zu ermöglichen.
Die onOpen() - Funktion ist einer der sogenannten einfachen Trigger in GAS, so dass jeder Code innerhalb dieser Funktion ausgeführt wird, wenn Sie das Dokument öffnen. Die Methode sort() sortiert Array-Elemente basierend auf bestimmten Kriterien. Da sort() nicht weiß, welche Kriterien Sie zum Sortieren von Sheet-Objekten verwenden möchten, müssen Sie eine Vergleichsfunktion übergeben, um die Standardfunktion zu überschreiben.
Die Komparatorfunktion analysiert Blattnamen und erstellt Datumsobjekte, indem Jahr und Datum (in dieser Reihenfolge) an den neuen Konstruktor Date() übergeben werden. Anschließend verwendet er das Ergebnis der Datumssubtraktion, um das Array "Blätter" in absteigender Reihenfolge vom höchsten zum niedrigsten Wert zu sortieren.
Schließlich nehmen Sie das erste Element des sortierten Arrays (das wäre das zuletzt erstellte Blatt) und legen Sie es als aktives Blatt fest.
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
sheets.sort(function(a,b) {
var arr1 = a.getName().split("_");
var arr2 = b.getName().split("_");
return new Date(arr2[1], arr2[0]) - new Date(arr1[1], arr1[0]);
});
if (sheets.length < 1) {
return;
}
ss.setActiveSheet(sheets[0]);
}
Sie können den Namen des Blattes in PropertiesService speichern und in Ihrer onOpen Funktion Gebrauch SpreadsheetApp.getActive(). GetSheetByName() und den Namen Dateinamen von scriptProperties erhalten. 'var scriptProperties = EigenschaftenService.getUserProperties(); var Blattname = scriptProperties.getProperty ('Blattname'); ' – Cooper