1

次の Word のフィールド コードは、カスタム ドキュメント プロパティ "myproperty" が存在する場合はその内容を表示します。それ以外の場合は何もしません

{IF {DOCPROPERTY "myproperty"} <> "Error! Unknown document property name." {DOCPROPERTY "myproperty"}}

存在するかどうかのテストは、プロパティが存在しない場合に Word が返すエラー メッセージに基づいています。問題は、このエラー メッセージがローカライズされる可能性があることです (たとえば、フランス語など)。

ロケールに依存しない方法でカスタム ドキュメント プロパティの存在をテストする方法を知っていますか? これは次のようなものと同等です。

{IF {EXIST-DOCPROPERTY "myproperty"}{DOCPROPERTY "myproperty"}}
4

1 に答える 1

0

私見ですが、言語コンテンツに関連し、正しい解決策が存在しない Word のいくつかの問題に遭遇しました。

もう 1 つの例は、参照したいスタイルへの参照を必要とする {STYLEREF} フィールドです。VAB/VSTO では、wdStyleHeading1 などの定数を介して組み込みスタイルを参照し、言語に依存しないようにすることができますが、フィールドを使用して、スタイル名を英語の Word で「Heading 1」として追加する必要があります。ドキュメントをドイツ語の Word で開くと、「スタイル名が定義されていません」というエラーが表示されます。逆に、ドイツ語の「STYLEREF "Überschrift 1"} を英語の Word で開くと、エラーが発生します。

問題に対処したい状況全体については何も言っていません。ドキュメント テンプレート セットでは、通常、ドキュメントを管理しています。たとえば、ドキュメントを管理できるグローバル アドインが実行されています。さらに、私が発行したテンプレートにはカスタム ドキュメント プロパティが既に定義されているため、この種のエラーは発生しません。ただし、定義されていなくても、ドキュメントを開くときに作成できます。

于 2011-09-21T09:02:45.207 に答える