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
この記事が気に入ったらサポートをしてみませんか?