19 февраля 2015
Кравченко Виктор

Как исправить некорректное отображение кириллических при копировании/вставке фрагмента кода из/в VBA

VBA (Visual Basic for Applications)
01

Каждый, кого судьба заставляла работать с VBA-макросами сталкивался с некорректным отображением кириллических символов при копировании/вставке фрагментов кода в редактор — отображались либо «кракозябры» — Ïåðåä êàæäîé çàìåíîé çàðàíåå ôîðìèðóåì ñòðîêó, либо вопросы ?????? ?? ??????? ??????.

02

Вариант 1. Официальный.

Некоторые предлагали выход: копировать текст из редактора только в русской раскладке клавиатуры. Схема работала, но выбешивала. Как оказалось — это нормальная логика работы системы.

03

Вариант 2. Грустный.

Особенно терпеливые и изобретательные даже писали функции конвертации в нормальный текст.

04

Вариант 3. Реестр.

Позже был найден способ с внесением изменений в реестр. Необходимо создать файл 1251.reg следующего содержания:

05
1
2
3
4
5
6
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls"
06

Запускаем, соглашаемся на все, перегружаемся.

07

Вариант 4. Действенный.

Для тех, кого и этот способ не устраивает/не работает есть ещё один способ. В папке System32 находим файл C_1252.NLS копируем его — переименовываем, например в C_1252._NLS. Далее удаляем C_1252.NLS, если не получается обращаемся к Unlocker. После удаления делаем копию файла C_1251.NLS и называем его C_1252.NLS. Перезагружаем компьютер.

08

Похожие запросы:

  • Сбивается кодировка при копировании из буфера обмена
  • Борьба с «кракозябрами», вставляемыми из буфера обмена VISTA и Win-7
  • Неправильная кодировка при копировании в буфер
  • Исправление некорректного отображения символов кириллицы в макросах VBA
comments powered by HyperComments