-1

フォーム編集を実行するGoogleスクリプトを作成しようとしていますが、新しい編集のURLを使ってGoogleフォームを編集したときにonEditかonSubmitかどうかわかりません後日。フォームレスポンスクリアセルのGoogleシートスクリプトonEdit

私は応答がある行を取得し、セルAO、AP、AQ、およびARの内容をクリアする必要があります。

私はこれが大きな混乱でなければならないことを知っていますが、私は努力しています。これまで私が持っているものは次のとおりです。

function onEdit(e) { 
     var sheet = SpreadsheetApp.getActiveSheet(); 
     var editRange = sheet.getActiveRange(); 
     var editRow = editRange.getRow(); 
     var editCol = editRange.getColumn(); 
     var range = sheet.getRange("A2:AL"); 
     var rangeRowStart = range.getRow(); 
     var rangeRowEnd = rangeRowStart + range.getHeight()-1; 
     var rangeColStart = range.getColumn(); 
     var rangeColEnd = rangeColStart + range.getWidth()-1; 

     if (editRow >= rangeRowStart && editRow <= rangeRowEnd 
      && editCol >= rangeColStart && editCol <= rangeColEnd) 
    { 
     var ss = e.range.getSheet(); 

     ss.getRange(thisRow,"AO" & i & ":AR" & i) // Get cells in range AO,AP,AQ,AR to clear out 
       .clearContent(); 
    } 
}; 

答えて

0

スクリプトGoogleドキュメントフォーラムといくつかの追加の変更ではスペンサーとの大きな助けの手で私のことでは魔法のように動作します。それは、最もきれいなスクリプトではないかもしれませんが、私が必要とするものを実行します。

function compareClear() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Form Responses 1"); 
    var firstdate; 
    var secdate; 

    for (var i = 3; i < sheet.getLastRow(); i++) { 
     firstdate = new Date(sheet.getRange(i, 4).getValue()); 
     secdate = new Date(sheet.getRange(i, 45).getValue()); 

     if(firstdate > secdate){ 
       sheet.getRange(i, 41).clearContent(); 
       sheet.getRange(i, 42).clearContent(); 
       sheet.getRange(i, 43).clearContent(); 
       sheet.getRange(i, 44).clearContent(); 
     } 
    } 
} 
0

私はもう一度やり直しました。私はこのスクリプトを動作させていますが、まだ必要な方法はありません。行のセル(AH)の内容をクリアするには、firstdate != secdateが必要です。現在、1つのセルが基準を満たしている場合、列AHのすべてのセルをクリアします。誰がこのテーマに援助の手を必要とする場合があります念の

function compareClear() { 
     var ss = SpreadsheetApp.getActiveSpreadsheet(); 
     var sheet = ss.getSheetByName("Sheet1"); 
     var firstdate = sheet.getRange("E3:E").getValues(); 
     var secdate = sheet.getRange("AG3:AG").getValues(); 

     if(firstdate != secdate){ 
      SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent(); 
     } 
} 
関連する問題