2016-07-12 4 views
0

ich wenig weiß über einen Google-Skript zu schreiben, aber ich fand diese hier: Copy data from one sheet to another spreadsheet exclude specific columnsGoogle Script gewählte Spalten zu bewegen geben Fehler

Es ist genau das, was ich suche

ich es die script editor hinzugefügt Google Sheets

in der Zelle A1 von Elements Blatt I =copySheet() hinzugefügt

aber ich habe den Fehler

Error 
You do not have permission to call setValues (line 10). 

Linie 10: dest.setValues(sourceData); der copyTo Funktion

Gibt es eine Möglichkeit, dies zu beheben?

Rufe ich es falsch?

Vielen Dank im Voraus

Edit: Zusatzfunktion

function copyTo(source,destination) { 
var sourceSheet = source.getSheet(); 
var destSheet = destination.getSheet(); 
var sourceData = source.getValues(); 
var dest = destSheet.getRange(
destination.getRow(),  // Top row of destination 
destination.getColumn(),  // left col of destination 
sourceData.length,   // # rows in source 
sourceData[0].length);  // # cols in source (elements in first row) 
dest.setValues(sourceData); 
SpreadsheetApp.flush(); 
} 

Kopierblatt

function copySheet() { 
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("rawElements"); 
var destSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Elements"); 

var columns_to_be_copied = ['A', 'C', 'D', 'F']; 
var columns_to_be_pasted = ['A', 'B', 'C', 'D']; 

for (column in columns_to_be_copied) { 

    var copy_range_string = columns_to_be_copied[column] + ':' + columns_to_be_copied[column]; 
    var paste_range_string = columns_to_be_pasted[column] + ':' + columns_to_be_pasted[column]; 

    var source = sourceSheet.getRange(copy_range_string); 
    var destination = destSheet.getRange(paste_range_string); 
    copyTo(source,destination); 
    } 
} 

Antwort

0

In dem Link zur Verfügung gestellt: Copy data from one sheet to another spreadsheet exclude specific columns

Es gibt eine copyTo Funktion definiert, aber im Der Code, den Sie eingefügt haben, fehlt diese Funktion.

+0

Wie vollständig "dumm" von mir, das zu verpassen. Hinzufügen des "copyTo" -Codes Ich erhalte den "neuen" Fehler: 'Fehler Sie sind nicht berechtigt, setValues ​​(Zeile 10) aufzurufen.' Das ist: 'dest.setValues ​​(sourceData);' – xyz

+0

hm. nicht viel Erfahrung mit Google-Skript selbst. Aber auch andere haben sich diesem Problem gestellt: http://stackoverflow.com/questions/15933019/google-script-setvalue-permission – 80prozent