2

これが私のスクリプトですが、奇妙な理由で動作しません??!!! 私を狂わせる。

function removeThenSetProtection() {
  // Remove all range protections in the spreadsheet that the user has
  //permission to edit.
  var ss = SpreadsheetApp.getActive();
  var protections = ss.getProtections(SpreadsheetApp.ProtectionType.SHEET);

  for (var i = 0; i < protections.length; i++) {
    var protection = protections[i];
    if (protection.canEdit()) {
      protection.remove();
    }
  }
}
4

1 に答える 1

1

変化する:

var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);

に:

var protections = ss.getProtections(SpreadsheetApp.ProtectionType.SHEET);

そうすれば、保護されているすべてのものへの参照を確実に取得でき、将来の競合は発生しません。

于 2015-02-28T20:21:09.777 に答える