0

ドキュメント全体のブックマークにテキストを自動的に入力するいくつかの情報をユーザーが完成させるための多数のペインを構築しているMS Wordプロジェクトがあります。ユーザーが値を入力した後にドキュメントを再度開くときに、これらの値を簡単に取得できるように、これらの値を保存する最良の方法を見つけようとしています。

ブックマーク自体からそれらを取得しようとすることもできますが、もちろん多くの場合、理想的にはユーザーに表示されない場所に主キーを保存したい場合や、テキストに変更を加えた場合に備えて、テキスト値が含まれています。値のリバース エンジニアリングが不可能になります。

カスタム属性を Word ドキュメントに保存する方法に関する情報が見つからないようです。そのため、これを実現する方法についての一般的なガイダンスをいただければ幸いです。

どうもありがとう!

4

2 に答える 2

0

これでかなり遊んだ後、これが他の誰かを助ける場合に備えて、これが私の最終的なコードです。この形式は理解しやすく、操作しやすいことがわかりました。これはすべて、クリスチャンによる参照記事に基づいています。

using Office = Microsoft.Office.Core;
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;

            Office.DocumentProperties properties = (Office.DocumentProperties)Globals.ThisDocument.CustomDocumentProperties;

            //Check if the property exists already
            if (properties.Cast<Office.DocumentProperty>().Where(c => c.Name == "nameofproperty").Count() == 0)
            {
                //Then add the property and value
                properties.Add("nameofproperty", false, Office.MsoDocProperties.msoPropertyTypeString, "yourvalue");
            }
            else
            {
                //else just update the value
                properties["nameofproperty"].Value = "yourvalue";                    
            }

値を取得するという点では、上部の同じ 3 行を使用してプロパティ オブジェクトを取得するのと同じくらい簡単です。おそらく、if ステートメントのコードを使用して存在するかどうかを確認し、次を使用して取得します。properties["nameofproperty"].Value

于 2013-05-31T15:57:28.100 に答える