...エクセルオフィスアドインAPIワークシートの保護パスワード私はExcelのワークシートの保護に関連する質問があり
コンテキストは、私が編集するためのさまざまなユーザーグループのために利用可能な異なるワークシートを持っている必要がありますが、すべてのグループがでなければならないということですすべてのシートを見るusergroup1はシート2とシート3とシート1の一部を編集でき、usergroup2はシート1だけを編集できます。
これを有効にするにはFormatProtection(range.format.protection.locked = false;
)とWorksheetProtection(worksheet.protection.protect();
)を設定できますが、ワークシート保護に対してAPI経由でパスワードを設定することはできません。これは、たとえば、いずれかのグループがレビューリボンのシート保護解除オプションをクリックして、必要のないシートを編集できることを意味します。
残念ながら、以下のドキュメントを試してみましたが、役に立たないと思います。一例として、
- http://dev.office.com/reference/add-ins/excel/worksheetprotection
- https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/worksheetprotection.md
、ここで私が完了したい機能です:
function CopyWorksheet() {
var newAddress;
Excel.run(function (ctx) {
var worksheet = ctx.workbook.worksheets.getActiveWorksheet();
var range = worksheet.getUsedRange();
range.load();
// insert new worksheet
var newWorksheetName = "Copied_Sheet";
var newWorksheet = ctx.workbook.worksheets.add(newWorksheetName);
return ctx.sync().then(function() {
// copy the old values to the new worksheet
newAddress = range.address.substring(range.address.indexOf("!") + 1);
newWorksheet.getRange(newAddress).values = range.values;
newWorksheet.getRange(newAddress).formulas = range.formulas;
newWorksheet.getRange(newAddress).text = range.text;
// protect both worksheets
worksheet.protection.protect();
newWorksheet.protection.protect();
// requirement here to set a password so that no one can
// edit the worksheets by selecting 'Unprotect Sheet' in excel
// ...
})
.then(ctx.sync)})
.catch(function(error) {
console.log("Error: " + error);
});
}
現在、私はエクセル2016(デスクトップを使用していますバージョン)。これは実装が可能か、同じ結果を達成できるいくつかの機能が欠けていますか?
ありがとうございました。
これまでに何を試しましたか?あなたのコードをさらに表示してください。実際のプログラミングについての細部はほとんど分かりません。 –
@Tom迅速な対応をありがとう。私は追加の文脈のためにポストにいくつかのコードを追加しました。 – Nigel