Мне нужно заменить цель в начале строки чем-то другим. Без подстановочных знаков я могу сказать, что заменить «^ pTarget» на «^ pReplacement». С включенными подстановочными знаками я использую замену «^ 13Target» на «^ 13Replacement». Замена прошла успешно, за исключением того, что абзац теперь объединен с предыдущим странным образом:
- Метка конца абзаца остается на месте, а абзац начинается с новой строки, но
- Тройной щелчок для выбора абзаца выбирает как измененный абзац, так и приведенный выше.
- В макросе, начиная с абзаца выше и расширяя выделение до конца абзаца, можно выбрать оба абзаца.
- Интервал между абзацами исчезает между измененным абзацем и приведенным выше.
По сути, граница абзаца была удалена, хотя знак конца абзаца все еще отображается.
Чтобы дублировать эту проблему, создайте новый документ
Line 1
Line 2
Line 3
(отдельные пункты). Найдите и замените (с подстановочными знаками) «^ 13» на «^ 13». Если ваш результат совпадает с моим, вы увидите проблемы, перечисленные выше.
Я могу обойти это обычным способом, сначала заменив ^ p чем-то другим, например, "^ p" => "$", затем "$ target" => "$ replace", но мне интересно, что происходит ,
(Это использует Word 2007 на Windows 7)
Я не знаю Word XML, но вывод XML, похоже, соответствует приведенному выше. Замена ^ 13 на ^ 13 перемещает абзацы вместе почти так же, как замена конечного абзаца конечной строкой (^ p => ^ l). Вот соответствующий XML оригинала «Строка 1, Строка 2, Строка 3» в отдельных абзацах:
<w:p w:rsidR="00BB3032" w:rsidRDefault="00027252">
<w:r><w:t>Line 1</w:t></w:r>
</w:p>
<w:p w:rsidR="00027252" w:rsidRDefault="00027252">
<w:r><w:t>Line 2</w:t></w:r>
</w:p>
<w:p w:rsidR="00027252" w:rsidRDefault="00027252">
<w:r><w:t>Line 3</w:t></w:r>
</w:p>
Теперь после замены ^ 13 на ^ 13:
<w:p w:rsidR="00027252" w:rsidRDefault="00027252">
<w:r><w:t>Line 1</w:t></w:r>
<w:r w:rsidR="00C57863"><w:cr/></w:r>
<w:r><w:t>Line 2</w:t></w:r>
<w:r w:rsidR="00C57863"><w:cr/></w:r>
<w:r><w:t>Line 3</w:t></w:r>
<w:r w:rsidR="00C57863"><w:cr/></w:r>
</w:p>
Теперь оригинал после замены ^ p на ^ l (конвертировать конец абзаца в конец строки)
<w:p w:rsidR="00027252" w:rsidRDefault="00027252">
<w:r><w:t>Line 1</w:t></w:r>
<w:r w:rsidR="00AC7B51"><w:br/></w:r>
<w:r><w:t>Line 2</w:t></w:r>
<w:r w:rsidR="00AC7B51"><w:br/></w:r>
<w:r><w:t>Line 3</w:t></w:r>
<w:r w:rsidR="00AC7B51"><w:br/></w:r>
</w:p>