2

DocumentFormat.OpenXmlを使用して新しいWord文書を作成します。目次と画像ロゴのあるテーブルが配置されたテンプレートドキュメントをロードします。このテンプレートのc#コードを使用して、他のコンテンツを追加します。このドキュメントをユーザーに送信します。

ユーザーがこのドキュメントを取得して開くと、目次は更新されません。私はこの問題を解決することがわかりました。コードに追加します

  • mainPart.DocumentSettingsPart.Settings.Append(new UpdateFieldsOnOpen(){Val = true});

しかし、ユーザーがドキュメントを取得して開くと、MS Wordから「フィールドを更新しますか?」というメッセージが表示されます。

ユーザーにメッセージを表示せずに目次を生成したり、目次を更新したりする他の方法はありますか?

4

2 に答える 2

0

私は私の質問に対する答えを得ました: http ://social.msdn.microsoft.com/Forums/en-US/worddev/thread/7f53a939-f50e-423d-90fa-1f3c58945a6e

あなたが見ているものの原因は、数年前に導入されたセキュリティ対策です。おそらく、次のKB記事で説明されているレジストリエントリを使用してメッセージを抑制することができます。ただし、これによりシステムのセキュリティが低下する可能性があることに注意する必要があります。

次のブログ記事では、目次を更新する「正しい」方法について説明しています。http: //support.microsoft.com/kb/330079

それ以外に利用できるのは、ドキュメントまたは自動化を使用してフィールドを強制的に更新するアドインに埋め込まれたマクロだけです。

于 2011-12-20T07:14:04.507 に答える
0

OpneXML SDK 2.0を使用した目次(TOC)の生成に関して、同様のスレッドで長い議論がありました。そして、それをどのように達成できるかを説明する詳細な解決策があります。詳細については、このスレッドを参照してください:OpenXML SDK 2.0を使用して目次を生成する方法は?

于 2012-03-24T12:21:44.397 に答える