Проблема с седой бородой, которая возникла с выходом Word'а 97. Microsoft бил себя в грудь, что макросы из WordBasic в VBA преобразуются без всяких проблем. Однако это справедливо только в том случае, если в макросах не используется кириллица в именах переменных и в именах макросов. Очевидно, конвертер макросов по умолчанию считает, что все идентификаторы в WordBasic заданы в кодовой странице CP-1252, и из русских букв мы получаем крякозябры.
Подозреваю, что есть всё-таки тайная настройка, позволяющая указать кодовую страницу для идентификаторов, используемых WordBasic, но я этого не нашёл.
В Интернете предлагается вручную переписать все переменные, содержащую кириллицу. Это хорошо советовать, когда у тебя один макрос, в котором можно быстро переименовать все переменные операциями замены. А когда у тебя сотни макросов, каждый из которых содержит кириллические переменные, задача ручной правки является неподъёмной. В результате только из-за этого приходится держать виртуальную машину с Word'ом 95, чтобы можно было пользоваться нужными программами, написанными ещё в 90-х гг.
Я такое не знаю.
Я сталкивался с WordBasic, но он на первый взгляд работал как и новые команды.
Если кириллицы нет, то и проблем практически нет...
Но я использовал WordBasic в MS Office 2003.
В Ворде 2003 (я им пользовался много лет) макросы с кириллицей из Ворда 95 тоже конвертируются с крякозябрами. И В Ворде 2010 та же история :(
Вы хотите скопировать модули из одного места в другое?
Я хочу избавиться от Ворда 95, установленного в Виртуальной машине с Windows XP (ибо Ворд 95 не устанавливается в последующих версиях Windows). Для этого нужно все макросы перенести в шаблоны, созданные в Ворде 2003-2010. И единственное, что является препятствием – то, что конвертер макросов курочит кириллицу.
Я не разбираюсь в кодировках, не смогу помочь.
Модуль, в котором макрос, - это по сути обычный текстовый файл. Значит вам нужно просто найти в интернете конвертер текстовых файлов. Можно попробовать Notepad++, в нём есть различные кодировки. Но я не знаю, поможет ли он. Я в кодировках не разбираюсь.
Для этого нужно сотни макросов из Ворда 95 экспортировать поштучно в текстовые файлы... После конвертации уже поздно что-то делать, потому что в процессе конвертации русский текст необратимо разрушается: разным русским буквам соответствуют одни и те же латинские, а вместо части русских букв появляются вопросительные знаки.
Например:
Dim Shared Текущий_фокус$, Первая_справка
превращается:
Dim Oaeouee_oieon$, Ia?aay_ni?aaea
Для конвертации надо искать специалиста.
Можно же модуль экспортировать, при этом вы получите текстовый файл, в котором будет исходная кодировка. Затем ищите специалиста, который перекодирует текстовый файл в нужную кодировку.
Можно написать макрос, который будет экспортировать модули из vba-проекта в папку.