2017-09-09 3 views
0

Ich bin neu in Google Sheets Script und blieb stecken und versuchte folgendes zu tun. Ich habe 2 Spalten: C enthält Start-Timecode und D enthält End-Timecode. Eine dritte Spalte (F) enthält die Länge eines Film-Cue, die sich aus Start-Timecode und End-Timecode ergibt. Da der Timecode aus einem Skript resultiert, können die Zellen, die das Ergebnis enthalten, nicht in ein anderes Format exportiert werden. Also versuche ich eine vierte Spalte zu erstellen, die die Ergebnisse aus Spalte F als Werte ausgibt. Ich habe es geschafft, ein kleines Skript zu schreiben, das es schafft. Es sieht wie folgt aus:Google Sheets Skript ausführen onEdit

function getRangeValuesEP01() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var range = ss.getSheetByName("EP01").getRange('F3:F100').activate(); 
var values = range.getValues(); 
return values; 
}; 

Die Sache ist, ist es nicht automatisch ausgeführt werden, wenn ich eine der Time Codes in C oder D.

bearbeiten

Also das habe ich versucht:

function onEdit(e) { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet() 
    var sheetName = sheet.getName(); 
    if (sheetName == "EP02" || sheetName == "EP01") { 
    var range = sheetName.getRange('F3:F100').activate(); 
    var r = sheetName.getActiveRange(); 
    if (r.getColumn() == 4) { 
     var col = r.getColumn(); 
     if (col >= 3 && col <= 100) { 
     sheetName.getRange(r.getRow(),5); 
     var values = range.getValues(); 
     } 
    } 
    } 
} 

Es gibt mir keine Fehler, aber es tut auch nichts. Es macht wahrscheinlich keinen Sinn. Wie gesagt, ich bin neu in diesen Skripten. Und es berücksichtigt nicht, dass in den Spalten C und D nach Editierungen gesucht werden muss. Ach, oder wäre es genug, um F zu betrachten, da das bereits aktualisiert wird, wenn C oder D geändert werden?

Vielleicht kann mich jemand hier in die richtige Richtung schieben?

Antwort

0

Kommentare lesen:

function myonEdit(e) 
{ 
    var sheet=e.source.getActiveSpreadsheet(); 
    var sheetName=sheet.getName(); 
    if(sheetName=="EP02" || sheetName=="EP01") 
    { 
    var r=sheet.getRange('F3:F100');//I made changes up to this point but the next line makes no sense so rethink it in light of changes 
    if (r.getColumn()==4)//This line doesn't make any sense because you set range to F3:F100 F is column 6 so it will never be 4 
    { 
     var col= r.getColumn(); 
     if (col >= 3 && col <= 100) 
     { 
     sheetName.getRange(r.getRow(),5); 
     var values = range.getValues(); 
     } 
    } 
    } 
}