2017-07-27 11 views
1

Microsoft Word文書のすべてのフィールドを更新します。現在、私はメソッドMicrosoft.Office.Interop.Word.Document.Fields.Update()を使用していますが、フィールドを更新していません。しかし、もし私が手作業で同じ文書を全文書の内容を選択し、ウィンドウキーf9を押してフィールドを更新すると、Microsoft Word文書のフィールドは正しく更新されます。Word文書のすべてのフィールドを更新するには?

だから、Word文書のフィールドを更新する方法は他にもありますか?内容/フィギュアのテーブルを更新する具体的なケースでは

+0

取得したエラーメッセージまたは例外は何ですか?質問した内容をコードで詳細情報を更新してください。 –

+0

私はエラーやexception.Iを取得していない私はそれを適切な結果を得るために私のアプリケーションでそれを使用して開始する前に、単語の文書のフィールドを更新する必要があります。フィールドが正しく更新されていないため、結果が間違っています。しかし、ドキュメントのフィールドをマニュアルで更新したとき、私は適切な結果を得ました。私のアプリケーションで使用しているコードスニペットは次のとおりです。 wordDoc.Fields.Update(); wordDoc.UndoClear(); wordDocはMicrosoftのワードinteropオブジェクトです。 –

+0

なので、エラーはcomメソッドではない可能性があります。それはあなたのコードから、あなたが単語の文書のデータを操作する場所になります。 –

答えて

1

// Microsoft.Office.Interop.Word.Document document; 

foreach (TableOfContents tableOfContents in document.TablesOfContents) 
{ 
    tableOfContents.Update(); 
} 
foreach (TableOfFigures tableOfFigures in document.TablesOfFigures) 
{ 
    tableOfFigures.Update(); 
} 
foreach (Range storyRange in document.StoryRanges) 
{ 
    storyRange.Fields.Update(); 
} 

私は、これはあなたが更新する必要がある分野をカバーし、またはあなたの分野に外挿するために十分な情報を提供したいと考えています。

+0

これらの条件では、文書フィールドは更新されません。しかし、私が観察したことの1つは、以下のコードスニペットを使用してフィールドを更新した後に文書を保存すると、予想される結果を確認できることです。 _wordDoc.Fields.Update(); _wordDoc.UndoClear(); _wordDoc.Save();しかし、文書の保存は文書オリジナルのコンテンツに影響を与える可能性があるので、文書を保存したくない。 –

関連する問題