0

ユーザーが現在のGoogleスプレッドシートに新しい列を追加した場合に実行したいコードが少しあります(フォーマットを新しい列にコピーしたい)。

onEdit(e)トリガーを使用する必要があると思いますが、そのコードを実行する前に、列が追加されたかどうかを確認する方法がわかりません。

4

1 に答える 1

0

アイデアは、シートの「状態」を記憶し、列が追加されたかどうかを各編集で確認することです。この単純なコードはそれを行います。関数をインストール可能なトリガーに割り当てる必要がありOnEdit ます (リソースに移動 > 現在のスクリプトトリガー > 新しいトリガーを追加)

function CheckColumns() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sh = ss.getActiveSheet()
    var numcol = sh.getMaxColumns()  
    var formertest = ScriptProperties.getProperty('lastTest')
      if(formertest!=numcol){
Logger.log('change has occured ...')   

// ... do what you want to do

  ScriptProperties.setProperties({'lastTest': numcol}, true);   
}
}

機能するかどうかを確認するには、ロガーを表示するだけです。スクリプトのプロパティにアクセスするための承認が求められることに注意してください。

于 2012-12-10T15:09:02.697 に答える