1

Мне нужно заменить цель в начале строки чем-то другим. Без подстановочных знаков я могу сказать, что заменить «^ 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>

1 ответ1

3

При использовании подстановочных знаков вам нужно всего лишь использовать ^ 13 в поле поиска. В поле Replace вы можете использовать (и в большинстве случаев следует использовать) ^ p.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .