Это прекрасно работает, однако в некоторых документах между абзацами добавляется новая строка. При дальнейшем расследовании выясняется, что форматирование абзаца изменяется, то есть межстрочный интервал увеличивается с нуля до 12, а также меняются другие вещи, в том числе убираются левые отступы из абзацев и т. д.
Я хотел бы знать, есть ли способ выполнить описанную выше задачу без изменения свойств абзаца при вставке текста обратно. Мой код приведен ниже, чтобы показать, как я просматриваю документ.
Прежде чем перейти к основному коду, у меня есть приложение Word и открытый документ, используя следующее: пространство имен:
Код: Выделить всё
using Word = Microsoft.Office.Interop.Word
Код: Выделить всё
Word.Application app = new Word.Application();
Word.Document doc = app.Documents.Open(filePath, ReadOnly: false);
Код: Выделить всё
try
{
int totalParagraphs = document.Paragraphs.Count;
string final;
for (int i = 1; i 1)
{
Regex regex = new Regex(findText);
final = regex.Replace(temp, replaceText);
if (final != temp)
{
document.Paragraphs[i].Range.Text = final;
}
}
}
} catch (Exception) { }
Подробнее здесь: https://stackoverflow.com/questions/450 ... rd-interop