見出し画像

OfficeScripts | シートを保護する

こんにちは。ふらです。今日はOfficeScriptsを使ってシートを保護する方法についてお話していきたいと思います。


シートを保護

下記コードを使うことで、シートを保護することができます。

function main(workbook: ExcelScript.Workbook) {

    //シートの保護状態を確認
    let sh = workbook.getWorksheet("Sheet1"); //シート名を取得
    let wsp = sh.getProtection(); //シートの保護設定管理オブジェクト

    //シートの保護状態を確認する
    console.log(wsp.getProtected());

    //シートを保護設定にする
    wsp.protect();

    //シートの保護を解除する
    wsp.unprotect(); //シートの保護解除

    //パスワードや保護を詳細に設定する -------------------
    const pw = "pass"; //保護パスワード

    //ユーザーに許可する操作設定
    let opt = wsp.getOptions();
    opt.allowFormatCells = false; //セルの書式設定
    opt.allowFormatColumns = false; //列の書式設定
    opt.allowFormatRows = false; //行の書式設定
    opt.allowInsertColumns = false; //列挿入
    opt.allowInsertRows = false; //行挿入
    opt.allowInsertHyperlinks = false; //ハイパーリンクの挿入
    opt.allowDeleteColumns = false; //列削除
    opt.allowDeleteRows = false; //行削除
    opt.allowSort = false; //並べ替え
    opt.allowAutoFilter = true; //オートフィルター使用
    opt.allowPivotTables = false; //ピボットテーブルとピボットグラフを使う
    opt.allowEditObjects = false; //オブジェクトの編集
    opt.allowEditScenarios = false; //シナリオの編集
    opt.selectionMode = ExcelScript.ProtectionSelectionMode.none; //すべてのセルの選択不可
    wsp.protect(opt, pw); //パスワードや利用許可をしてシートを保護

}

シートの保護設定管理オブジェクトを作成する

getProtection()メソッドを使って、 シートの保護設定管理をするオブジェクトを作成します。このオブジェクト(下記コードだとwsp変数)に対して、保護状態の確認や保護、保護解除を行っていきます。

let sh = workbook.getWorksheet("Sheet1"); //シート名を取得
let wsp = sh.getProtection(); //シートの保護設定管理オブジェクト

シートの保護状態を確認する

シートの保護設定管理をするオブジェクト(wsp)に対してgetProtected()メソッドをりようするとシートの保護状態が確認できます。trueかfalseで表現されます。

//シートの保護状態を確認する
console.log(wsp.getProtected());

シートを保護設定にする

protect()メソッド使うことで、シートを保護できます。

//シートを保護設定にする
wsp.protect();

シート保護を解除

unprotect()メソッド使うことで、シート保護を解除できます。

//シートの保護を解除する
wsp.unprotect(); //シートの保護解除

パスワードや保護を詳細に設定する

下記の様にpw変数とopt変数を設定することで、
パスワードや保護を詳細に設定することができます。

//パスワードや保護を詳細に設定する -------------------
const pw = "pass"; //保護パスワード

//ユーザーに許可する操作設定
let opt = wsp.getOptions();
opt.allowFormatCells = false; //セルの書式設定
opt.allowFormatColumns = false; //列の書式設定
opt.allowFormatRows = false; //行の書式設定
opt.allowInsertColumns = false; //列挿入
opt.allowInsertRows = false; //行挿入
opt.allowInsertHyperlinks = false; //ハイパーリンクの挿入
opt.allowDeleteColumns = false; //列削除
opt.allowDeleteRows = false; //行削除
opt.allowSort = false; //並べ替え
opt.allowAutoFilter = true; //オートフィルター使用
opt.allowPivotTables = false; //ピボットテーブルとピボットグラフを使う
opt.allowEditObjects = false; //オブジェクトの編集
opt.allowEditScenarios = false; //シナリオの編集
opt.selectionMode = ExcelScript.ProtectionSelectionMode.none; //すべてのセルの選択不可
wsp.protect(opt, pw); //パスワードや利用許可をしてシートを保護

#OfficeScripts #Officeスクリプト #プログラミング #自動化 #業務効率化 #エクセル #M365 #ExcelOnline #osts

この記事が気に入ったらサポートをしてみませんか?