Страницы: 1
RSS
Макросы с русским текстом в английском Excel
 
Есть большая модель на Excel, в которой много макросов и эти макросы содержат русские строки. Эта модель должна работать в нерусском Excel (чешском, немецком, английском). Но из-за того, что текст макросов не в Юникоде, все текстовые константы оказываются испорчены перекодировкой.  
 
Знает ли кто-нибудь способ борьбы с этим?  
 
(Один способ я знаю, хранить все текстовые константы в скрытом листе и грузить оттуда. Но в данном случае это очень много работы по переделке, хочется найти что-то более простое)
 
Почему нельзя пройтись заменой и заменить всю кириллицу на латиницу?  
Может быть даже можно скрипт написать, который все символы в тексте заменит.  
Другое дело, если элементы кириллицей поназывали...
 
Способ тут один - убрать всю кириллицу из кода, заменив её на латиницу.  
Иначе - никак.  
 
Чтобы сообщения выводились на разных языках, надо добавить скрытый лист (или текстовый файл), и внести изменения в код.  
По-другому - никак.  
 
Работы много, бОльшая часть этой работы - ручная.  
Проще не получится.
 
Можно попробовать кириллицу так в сообщениях выводить:  
 
MsgBox ChrW(1040) & ChrW(1041) & ChrW(1042)  
 
Испытайте на немцах :)
 
Заменить кирилиллицу на латиницу нельзя потому что эти тексты должны быть по-русски. То есть продукт используют для создания русскоязычных отчетов пользователи, работающие в других странах (и у них установлены соответствующие версии Excel).  
 
Переписывать текстовые сообщения кодами символов - это, конечно, извращение.  
 
Переписать все так, чтобы грузилось из скрытого листа можно. Более поздние продукты уже так и сделаны. Но это два дня работы, часов на 15 в сумме, потому что надо переделывать все формы, все сообщения и пр. Вот и ищу метод попроще :)
Страницы: 1
Читают тему
Наверх
Loading...