Уведомление об ответе (письмо, email) может попасть в папку "Спам". На Яндексе (или в другой почтовой системе) пометьте полученное письмо "Не спам", чтобы остальные письма не попадали в папку "Спам". Или, если вы используете почтовую программу (а не браузер), то разрешите спаму попадать в папку "Входящие" (в этом случае в теме письма будет текст [OBORONA-SPAM]).

Конвертация макросов с кириллицей из WordBasic в VBA

Автор Посетитель_20112025, Сегодня в 13:17

Посетитель_20112025

Проблема с седой бородой, которая возникла с выходом Word'а 97. Microsoft бил себя в грудь, что макросы из WordBasic в VBA преобразуются без всяких проблем. Однако это справедливо только в том случае, если в макросах не используется кириллица в именах переменных и в именах макросов. Очевидно, конвертер макросов по умолчанию считает, что все идентификаторы в WordBasic заданы в кодовой странице CP-1252, и из русских букв мы получаем крякозябры.
Подозреваю, что есть всё-таки тайная настройка, позволяющая указать кодовую страницу для идентификаторов, используемых WordBasic, но я этого не нашёл.
В Интернете предлагается вручную переписать все переменные, содержащую кириллицу. Это хорошо советовать, когда у тебя один макрос, в котором можно быстро переименовать все переменные операциями замены. А когда у тебя сотни макросов, каждый из которых содержит кириллические переменные, задача ручной правки является неподъёмной. В результате только из-за этого приходится держать виртуальную машину с Word'ом 95, чтобы можно было пользоваться нужными программами, написанными ещё в 90-х гг.

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

Я такое не знаю.
Я сталкивался с WordBasic, но он на первый взгляд работал как и новые команды.

Посетитель_20112025

Если кириллицы нет, то и проблем практически нет...

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


Посетитель_20112025

В Ворде 2003 (я им пользовался много лет) макросы с кириллицей из Ворда 95 тоже конвертируются с крякозябрами. И В Ворде 2010 та же история :(

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

Вы хотите скопировать модули из одного места в другое?

Посетитель_20112025

Я хочу избавиться от Ворда 95, установленного в Виртуальной машине с Windows XP (ибо Ворд 95 не устанавливается в последующих версиях Windows). Для этого нужно все макросы перенести в шаблоны, созданные в Ворде 2003-2010. И единственное, что является препятствием – то, что конвертер макросов курочит кириллицу.

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

Я не разбираюсь в кодировках, не смогу помочь.
Модуль, в котором макрос, - это по сути обычный текстовый файл. Значит вам нужно просто найти в интернете конвертер текстовых файлов. Можно попробовать Notepad++, в нём есть различные кодировки. Но я не знаю, поможет ли он. Я в кодировках не разбираюсь.

Посетитель_20112025

Для этого нужно сотни макросов из Ворда 95 экспортировать поштучно в текстовые файлы... После конвертации уже поздно что-то делать, потому что в процессе конвертации русский текст необратимо разрушается: разным русским буквам соответствуют одни и те же латинские, а вместо части русских букв появляются вопросительные знаки.
Например:
Dim Shared  Текущий_фокус$, Первая_справка
превращается:
Dim   Oaeouee_oieon$, Ia?aay_ni?aaea

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

Для конвертации надо искать специалиста.
Можно же модуль экспортировать, при этом вы получите текстовый файл, в котором будет исходная кодировка. Затем ищите специалиста, который перекодирует текстовый файл в нужную кодировку.
Можно написать макрос, который будет экспортировать модули из vba-проекта в папку.