0

いくつかのブックマークを含む Word アドイン プロジェクトに取り組んでいます。これらのフィールドを更新するために、コードは次のようにドキュメントのロックを解除します。

_document.Unprotect(ref _password);

次に、サーバーからコンテンツを取得し、次のようにロックします。

_document.Protect(WdProtectionType.wdAllowOnlyFormFields, ref _noReset, ref _password, ref _useIrm, ref _enforceStyleLock);

特定のブックマークのロックを解除したままにするために、次のコードを使用してみました。

_document.bookmark1.Range.Editors.Add (Microsoft.Office.Interop.Word.WdEditorType.wdEditorEveryone);

これは、bookmark1 のロックを解除したままにしません。他のブックマークがロックされている間に、1 つのブックマークのみをロック解除できるようにする方法は他にありますか?

4

2 に答える 2

0

編集可能にしたいブックマークの前後に連続したセクション区切りを入れました。次に、LockDocument() 関数に次の行を追加します。

_document.Sections[4].ProtectedForForms = false;

したがって、私の LockDocument 関数全体は次のようになります。

 public void LockDocument()
    {
         _document.Sections[4].ProtectedForForms = false;

        // Locks the rest of the document
        _document.Protect(WdProtectionType.wdAllowOnlyFormFields, ref _noReset, ref _password, ref _useIrm, ref _enforceStyleLock);
    }
于 2015-10-06T16:07:12.590 に答える