イムループ:単語field.updateは、Word文書内のすべてのフィールドを更新するには、このコードを使用して、特定のドキュメントに
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
int i = 0;
foreach (Word.Field field in Doc.Fields)
{
try
{
field.Update();
}
catch (Exception ex) { Console.WriteLine(ex.Message); }
backgroundWorker1.ReportProgress(i);
i++;
}
}
これは私の文書のほとんどで動作しますが、何とかこのコードは終了1つの文書がありますいくつかのループでアップ。 ReportProgressのみが範囲外のエラーをスローします。これは、更新されるより多くのフィールドがドキュメント内に存在する必要があるためです。それ以外にもエラーメッセージは表示されません。
ここで、この問題に取り組む方法、コードで質問する方法、または単語のドキュメントで何が間違っているのかを調べることができますが、問題を追跡するのに役立つものはまだ見つかりませんでした。
これはおそらく単語の既知の問題ですか? これに取り組む方法や、docという言葉で何が間違っているかを見つけるためのその他のアドバイスはありますか?
なぜフィールドをループするのですか?簡単なのはなぜですか?doc.Fields.Update(); 2:通常、バックグラウンドスレッドでOfficeを使用するのは良い考えではありません。オフィスはSTAです... –