2016-08-09 13 views
1

...エクセルオフィスアドインAPIワークシートの保護パスワード私はExcelのワークシートの保護に関連する質問があり

コンテキストは、私が編集するためのさまざまなユーザーグループのために利用可能な異なるワークシートを持っている必要がありますが、すべてのグループがでなければならないということですすべてのシートを見るusergroup1はシート2とシート3とシート1の一部を編集でき、usergroup2はシート1だけを編集できます。

これを有効にするにはFormatProtection(range.format.protection.locked = false;)とWorksheetProtection(worksheet.protection.protect();)を設定できますが、ワークシート保護に対してAPI経由でパスワードを設定することはできません。これは、たとえば、いずれかのグループがレビューリボンのシート保護解除オプションをクリックして、必要のないシートを編集できることを意味します。

残念ながら、以下のドキュメントを試してみましたが、役に立たないと思います。一例として、

、ここで私が完了したい機能です:

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(デスクトップを使用していますバージョン)。これは実装が可能か、同じ結果を達成できるいくつかの機能が欠けていますか?

ありがとうございました。

+0

これまでに何を試しましたか?あなたのコードをさらに表示してください。実際のプログラミングについての細部はほとんど分かりません。 –

+0

@Tom迅速な対応をありがとう。私は追加の文脈のためにポストにいくつかのコードを追加しました。 – Nigel

答えて

2

パスワード保護はAPIでは利用できません。カジュアルな編集を避けるためにシートを保護することはできますが、パスワードで保護することはできません。その理由は、すべてのエンドポイント(IIRC、Excel Onlineに問題がありました)でパスワード保護が利用できないためです。

UserVoiceに提案バグを提出したい場合は、パスワード保護をデスクトップ専用APIとして検討するかどうかを確認できます。これまでExcelでこれらの作業を行っていませんでしたが、Wordではいくつかの「WordApiDesktop」APIが実行されています。だからあなたの(そして他の)シナリオをどのくらいブロックしているかによって、それはオプションかもしれません。その場合は、デスクトップでパスワード保護や保護解除を行うことはできますが、その操作をオンラインで行うことはできません。

関連する問題