Ich versuche Google Apps Script copy()
zu verwenden, um mein Master-Arbeitsblatt in ein Ausgabe-Arbeitsblatt zu "publizieren", aber jedes Mal mehrere Kopien zu erhalten, anstatt die Ausgabedatei zu ersetzen. Kann jemand eine Möglichkeit vorschlagen, den Inhalt einer Zieltabelle zu ersetzen, damit ich die gleiche Datei-ID für die Ausgabe beibehalten und manuell eine "Veröffentlichung" auslösen kann. Habe versucht copyTo
, aber macht nur mehrere Blätter statt.Google Apps Script - In vorhandenes Arbeitsblatt kopieren
Die Master-Tabelle ist eine Mitarbeiterliste, die von mehreren Managern bearbeitet werden kann, ohne dass die Mitarbeiter die Live-Version sehen. Wenn der Manager die Aktualisierung abgeschlossen hat, kann er an die Mitarbeiter weitergeleitet werden.
Edit: Verstanden
function publishRoster() {
var source = SpreadsheetApp.getActiveSpreadsheet();
var sheet = source.getActiveSheet();
var updatedDateTime = sheet.getRange("A1");
var now = Utilities.formatDate(new Date(), "GMT+10:30", "dd/MM/yyyy H:mm")
updatedDateTime.setValue("Last Published " + now);
var sourceName = source.getSheetName();
// var sValues = source.getDataRange().getValues();
var destination = SpreadsheetApp.openById('my-destination-sheet-id-here');
var destinationSheet = destination.getSheetByName(sourceName);
if (destinationSheet == null) { }
else { destination.deleteSheet(destinationSheet); }
sheet.copyTo(destination).setName(sourceName);
}
Dank @Umair, ich brauche es, um die Formatierung und ein paar verbundene Zellen zu kopieren, so dass copyTo() wird wahrscheinlich am besten funktionieren. Ich habe einige Zeilen eingefügt, um die neuen Blätter zu löschen und umzubenennen, aber jetzt bekomme ich "TypeError: Funktion copyTo in Objekttabelle nicht gefunden" –
Code jetzt eingefügt in Frage –
Sie möchten den Zeitstempel in Zelle A1 setzen? Ich habe die Antwort aktualisiert. Entschuldigung für die späte Antwort. – Umair