Страницы: 1
RSS
Vba excel windows и vba excel Mac Os - Макинтош корявит шрифт, Макросы написанные на Excel 2016 на Windows, при открытии в Excel 2011 Mac, русские буквы "Прописные" заменяются символами.
 
Всем привет, столкнулся с такой ситуацией. Макросы написаны на Excel 2016 Windows.
Когда файл открывается и сохраняется на маке, весь текст который веден был в коде макроса на русском корявится (только прописные буквы).
причем текст корявится не только в коде макроса а везде полностью, на форме "макросы" и на всей форме компилятора.
См. скрины.

В чем может быть проблема и как с этим бороться?
Скрытый текст
 
МАС не работает с кириллицей. Решать только обходными путями. Недавняя тема по этому поводу:
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=3&TID=100407&TITLE_SEO=100407-peremeshcheniekopirovaniepereimenovanie-faylov-cherez-excel-na-mac
 
Цитата
vikttur написал: МАС не работает с кириллицей
блин да с чем вообще Mac работает то? пока писал макросы, сколько проблем с этим маком. Со словарем не работает (решил с помощью добавления словаря другим путем) с кириллицей не работает ...

Спасибо за ссылку, посмотрю
 
... с событиями листа и книги не работает, окна системные не вызывает :)
 
Цитата
vikttur написал:
... с событиями листа и книги не работает, окна системные не вызывает
какой то "Кастрированный" ексель на маке получается... печально.
немного отходя от темы, подскажите, пожалуйста,  можно ли эту строку:
Код
 uvol = .ListColumns("Причин увол").Range.Value
заменить на:
Код
uvol = .ListColumns("D9").Range.Value
где в ячейке D9 находится название столбца "Причин увол", тогда мак не скорявит в коде ?
Изменено: slavaua - 05.02.2018 15:04:09
 
попробовал использовать функцию UCase("буква"), на винде вроде работает, посмотрим испоганит ли мак код.
Код
uvol = .ListColumns(UCase("п") & "ричин увол").Range.Value
 
Цитата
vikttur написал:
с событиями листа и книги не работает
работает   :)
 
! Да? Ошибся? С событиями работает, но  не всегда?
Недавно был вопрос. Переделывал код - при открытии книги не вызывалась форма для ввода пароля. Форма обычная - поля, сообщения, список логин/пароль получает простейшим способом - с листа... Пришлось открывать файл с пустым листом и кнопкой вызывать форму входа.
С событиями листа тоже что-то было, но давно и пример привести не могу, забылось. Возможно, перепутал чего и был уверен, что события плохо обрабатываются. Теперь не уверен :)
 
Если код писать сразу на Mac'е, то работает, а вот если файл, сделанный под Win, переделывать, то не всегда. У меня была ситуация, когда я неработающий на Mac код события листа просто перенесла из файла, сделанного под Win, в новый файл Mac Excel, ничего не меняя, и он заработал. Вот такая эпидерсия   :)

Ещё про кодировку
Изменено: Pelena - 05.02.2018 18:48:38
 
Цитата
slavaua написал:
попробовал использовать функцию UCase("буква"), на винде вроде работает, посмотрим испоганит ли мак код.
Код
uvol = .ListColumns(UCase("п") & "ричин увол").Range.Value
проверил на маке, так все работает, получается больших букв в коде нет и ему нечего портить :)
файл сохраняли, открывал потом на винде - все ок.
Проблема с msgbox еще, но решил так: убрал просто все большие буквы :)
Изменено: slavaua - 06.02.2018 02:05:21
 
Этим Вы проблему не решили.
На картинке - моя форма авторизации. Нет, китайский не учил, японский не знаю :)
Посылал картинку в ответ на "у меня перестало работать". Неделю файлом пользовались под Win, последний раз открыли на МАС. Буквы в основном прописные... Пришлось менять тексты на английские.

 
Цитата
vikttur написал:
Этим Вы проблему не решили.
согласен с Вами. Глобально, я проблему не решил, но тем не менее решил свою проблему, хотя бы код не портиться теперь после мака :)
Еще как вариант можно использовать переменные которым заранее присвоить значение ячейки.
Страницы: 1
Наверх