0

バックグラウンド

Open XML のカスタム プロパティはdocProps/custom.xml次のように格納されます (文字列の場合)。

<property fmtid="{xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx}" pid="2" name="Key">
    <vt:lpwstr>Value</vt:lpwstr>
</property>

fmtidOpen XML (v1) 仕様では、とについてあまり詳しく説明されていませんpid。セクション 7.3.2.2 で次のように述べているだけです。

[PID] カスタム プロパティと OLE プロパティを一意に関連付ける

質問

仕様のあいまいな説明についていくつか質問があります。

  1. OLE プロパティとは
  2. OLE プロパティを保存せずに、custom.xml に新しい OpenXML プロパティを追加することは可能ですか?
  3. pidごとに一意である必要があるか、custom.xml 内のfmtidすべての で一意である必要がありますfmtid
  4. custom.xml の自分のプロパティが Word に表示されないのはなぜですか?
4

1 に答える 1

3

実験で発見したことをもとに、自分の質問に部分的に答えていきます。

  1. OLEプロパティは、代替ファイルストリームに保存されるNTFS拡張属性です。それらはDSOfile.dllで表示または変更できます。このStackOverflowの質問を参照してください。

  2. custom.xmlを変更することにより、カスタムプロパティを追加できます。これらは、fmtidがWordまたはロードされたCOMアドインに属している場合にのみ、Wordのプロパティダイアログに表示されます。

于 2011-07-17T13:01:12.110 に答える