Microsoft Word ドキュメント (docx) から「編集者」をプログラムで抽出する最良の方法を決定しようとしています。具体的には、 「レビュー」タブ→「保護」セクション、「編集制限」オプション→「2.編集制限」セクション→「個人」リストボックス。これが何らかの方法でコードなしで達成される可能性がある場合は、SharePoint を使用してワークフロー中にこの情報を抽出することに言及しています。
ファイルを解凍し、document.xml ファイル内の「w:permStart」ノードを検索することで、それを実行できると思います。Microsoft が決定した場合に、ある時点で壊れる可能性があるため、そのようなハッキングに頼ることをためらっています。物事を変えること。
Office API は可能性を提供しているように見えます ( Editor Interface ) が、私は今それをテストすることはできず、API の適切なレベルでさえ確信が持てません。これはインターフェイスであり、ドキュメント オブジェクトの実際のプロパティではないためです。または類似。
編集
Word 2010 の UIでは、パネルを開くボタン (またはWord 2007 のボタン) を使用して、抽出する名前がReview
タブの下Protect
のリボンの領域に一覧表示されます。Restrict Editing
Protect Document
Restrict Formatting and Editing
このパネルの 2 番目のセクション セクション (ラベル2. Editing restrictions
) で、(Underneath )というラベルの付いたボックスがない場合はIndividuals
Exceptions (optional)
、Allow only this type of editing in the document
チェック ボックスをオンにします (その後のドロップダウンで何を選択してもかまいません)。
Exceptions (optional)
これにより、セクションの下にユーザーを追加できるようになります。More users...
リンクをクリックしてダイアログを開き、電子メール アドレス (Microsoft 認証サーバーに接続する) またはドメイン ユーザー アカウント (Word がドメイン システムで実行されている場合) のいずれかを入力します。時刻) をセミコロンで区切ります。これらのユーザーは、というラベルの付いたリストに追加されますIndividuals
。これは、Word 文書から抽出したいリストです (下の図)。
このリストは、ドロップダウンで指定された一般的なドキュメント ルールに「例外」を設定するために使用され、特定の例外範囲に関連付けられている名前のみを保存します - 電子メールまたは名前をリストに追加して範囲を作成し、ブロックを選択しますテキスト (またはドキュメント全体) を選択し、その名前の横にあるチェックボックスをオンにして、選択した範囲に関連付けます。w:ed
ドキュメントが保存されると、その名前への参照が、1 つ以上のw:permStart
要素 (テキストの範囲ごとに 1 つの要素)の属性として、基礎となる document.xml ファイルに追加されます。
docx ファイルを解凍し、document.xml ドキュメントを解析し、それらの要素の属性のすべての名前を抽出することもできますが、Microsoft Word API の代替方法がある場合、それは非常に洗練されていません。API を使用することをお勧めします。ほぼ確実に保守性と安定性が向上するためです。