У меня есть следующий фрагмент кода, который просматривает каждое слово в документе Word, находит строки (предложения), выделенные жирным шрифтом, и сохраняет их в списке, MasterSentences
.
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
Document doc = new Document();
object path = fileDialog.FileName;
object missing = Type.Missing;
doc = word.Documents.Open(ref path, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
string sentence = "";
foreach (Range rng in doc.StoryRanges)
{
foreach (Range rngWord in rng.Words)
{
if ((rngWord.Text.Contains("\n") || rngWord.Text.Contains("\r")) && sentence != "")
{
MasterSentences.Add(sentence);
sentence = "";
}
else if (rngWord.Bold != 0 && rngWord.Text != " " && rngWord.Text != "\t")
{
sentence += rngWord.Text;
}
}
}
Проблема в том, что для документа Word, содержащего 23 742 слова, требуется около 3-4 минут.
Есть ли способ улучшить скорость?Есть ли более эффективный способ сделать это?