Word: коды символов для поиска и замены

Автор lapin9126, 18 ноября 2015, 12:36

lapin9126

Где можно узнать коды символов, таких как ^0013?

Администратор

Способы, как узнать код символа без программирования

1. Можно в интернете поискать таблицу "ASCII", "ANSI" или "Юникод".
2. Использование "Вставка" - "Символ".
Показать
Для некоторых символов можно попробовать такой способ: выделите символ, для которого нужно узнать код, - вкладка "Вставка" - группа "Символы" - Другие символы... - появится диалог - если в этом диалоге выделен тот же символ, что вы выделили в ворде, то в правом нижнем углу, в поле "Код знака" будет код символа.

В поле "Код знака" код символа может быть в десятичной и шестнадцатеричной системе счисления. Чтобы узнать, в какой системе счисления находится код в поле "Код знака", посмотрите справа поле "из" и что написано на конце в скобках. Там может быть или "(дес.)" или "(шестн.)".

Если "дес", то просто подставляйте код знака, как есть в поле "Найти", добавив спереди символ "^". Если "шестн", то сначала переведите число в десятичную систему счисления (попробуйте найти в интернете онлайн-переводчики), а затем подставляйте в поле "Найти", добавив спереди "^". Если этот символ есть только в таблице "Юникод", то спереди добавьте "^u".

Если в диалоге выделен другой символ, значит в этом диалоге нет информации по данному символу. Такое может быть, например, со спецсимволами, например, с символом "знак абзаца" - ansi-код 13; в этом диалоге коды начинаются с большего кода.

В этом диалоге используется три таблицы символов:
1) ASCII
2) ANSI. Для русского языка таблица "ANSI" в этом диалоге называется "Кириллица".
3) Юникод
[свернуть]


Способы, как узнать код символа с помощью программирования

1. Во встроенной vba-справке есть раздел: VBA language reference > Visual Basic language reference > Character Sets.

2. Можно выделить нужный символ в программе "Word", затем нужно перейти в VBA и в окне "Immediate Window" нужно использовать такие коды:
Print Asc(Selection.Text)
или
Print AscW(Selection.Text)
Для кода, полученного первым способом, спереди нужно подставить "^", а во втором случае "^u".

3. Если второй способ даёт неправильный код (такое может быть иногда по непонятным причинам), то тогда такой способ. Скопируйте символ, для которого нужно узнать код, - отобразите окно "Найти и заменить" - вставьте в поле "Найти" скопированный символ - включите запись макросов - щёлкните "Найти" - отключите запись макросов - перейдите в VBA и возьмите код символа из записанного макроса.

В некоторых случаях нельзя вставить скопированный символ в поле "Найти". Не могу объяснить, почему это происходит.


Примечания

В ворде при поиске и замене нужно спереди кода символа ещё добавлять нули, чтобы было четыре цифры, например: ^0013. Это такой синтаксис. Если просто указать "^13", то не будет работать, если после "^13" будет ещё какой-то текст.

lapin9126

Спасибо за науку, попробую то, что Вы предложили.