2017-11-06 16 views
0

多くのシートを含むスプレッドシートのスクリプトを作成しました。シートが完成した後、シートは複製され、保護された状態に設定されます。保護されていないシートのonEdit()中にスクリプトを実行したいです。シートが保護されているかどうかを判断する方法はありますか?Googleシートは、シートがスクリプトによって保護されているかどうかを判断します。

答えて

1

はgetProtectionsを使った例です:

function onEdit(e) { 
    var sheet = e.source.getActiveSheet() 
    var protect = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET) 
    if (protect != "Protection") { 
     // Run your code here. For example: 
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").setValue("Unprotected"); 
    } 
} 
+0

@glennerooは、あなたがそれを試してみましたか?できます。 –

0

onEdit(e)という名前の関数を作成し、スプレッドシートgetSheets()を使用すると、すべてのシートにアクセスして、そのシートの保護タイプがSHEETであるかどうかを判断できます。彼らがそうした場合、ただちに戻り、onEdit(e)でそれらを処理しないでください。現在のシート名は、このコードe.source.getActiveSheet().getName()を使用して決定できます。ここで

関連する問題