Für Google-Tabellen-Skript, copyTo vs copyValuesToRanges & copyFormatsToRanges
Brauche ich zum kopieren einer Vorlage Zeile um einen neuen Bereich.
Die Vorlage-Zelle einen Inhalt haben, wo-format, Werte und Funktionen vorhanden sein können.
Da war ich beim kopieren einer Zeile zu einer Reichweite von mehreren Zeilen, die Funktionen copyValuesToRange() und copyFormatsToRange() sah gut aus.
Im wesentlichen mein code ging ein wenig wie diese;
Template.copyFormatToRange(sheet, 1, lastColumn, lastRow + 1, lastRow + N);
Template.copyValuesToRange(sheet, 1, lastColumn, lastRow + 1, lastRow + N);
Diese Kopien meinem template die Zeile über N neuen Zeilen ab lastRow+1.
Dann bemerkte ich, es war nicht das kopieren der Funktionen in der template-Zeile, z.B. =SUMME(B2:C2)
Kann ich getFunctions() um ein array, das die Funktionen enthält, die in meinem template-Zeile und setFunctions() , kopieren Sie Sie in eine Ziel-REIHE.
Ein Nachteil ist, dass ich das umsteigen in A1-notation, wodurch die Ausführungszeit für das Skript. Wichtig ist der Zielbereich, setFunctions() schreibt, muss die gleiche Größe wie das array. Das bedeutet, dass ich laufen eine for-Schleife zum kopieren der Funktionen, die über N Zeilen.
Wenn ich arbeite mit einer for-Schleife sowieso kann ich einfach
- for-Schleife copyTo()
statt
- copyFormatToRange
- copyValuesToRange
- for-Schleife, um setFunctions
Ich versuche zu vermeiden, mit copyTo (), weil ich dachte, für N einer bestimmten Größe der einzelnen Befehle kopieren* * ****ToRange effizienter wäre, dass eine for-Schleife. Bin ich stecken mit der for-Schleife oder ist es eine clevere Art, wie ich kopieren kann, die Funktionen, die form einer einzigen Zeile, um eine Reihe von Zeilen?
InformationsquelleAutor Niccolo | 2014-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aber Sie können
copyTo
zu kopieren, um eine "große" Ziel, die Sie nicht haben, um eine Schleife. z.B.Es gerade getestet und es funktioniert normal.
Aber wenn Sie wollen, um die Funktionen arbeiten, sollten Sie die
getFormulasR1C1
undsetFormulasR1C1
- pair-Mädchen. Ein weiteres Problem, das auftreten könnte, von der Einstellung der Formeln nach der Eingabe der Werte ist, dass Sie überspringen die "Reine Werte" - Zelle, oder Sie werden überschreiben mit leeren Formeln. MitcopyTo
scheint der beste Ansatz sein.Ich Stimme dir zu, dass diese Erklärung ist unnötig kompliziert. Aber dennoch sagt er, dass es sein wird ", wiederholt oder abgeschnitten". Nach einigen Anstrengungen (und Tests) habe ich verstanden, dass dies ein copy 'n paste als wir erwarten.
Mein problem war, dass der copyTo () - Funktion nicht schweigen "wiederholt oder abgeschnitten". Es ist eine Variante copyTo(Ziel, Optionen), "Optionen", scheint dies die copyTo () - version der gleiche wie copyValuesToRange() oder copyFormatsToRange(). Es copyTo () - Methode umfasst Bereiche "wiederholt oder abgeschnitten" als copyValues/FormatsToRange(), es scheint, haben die gleiche Funktionalität. Die "ToRange" - Begriff in der letzteren in Kombination mit der Beschreibung führen mich zu glauben, dass copyTo () - Methode anders war die letztgenannten Funktionen.
InformationsquelleAutor Henrique G. Abreu