Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Совместимость  (Прочитано 7424 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Oks
Гость
« : 21-04-2005 07:59 » 

Я создала Excel файл с кучей макросов дома на русском офисе 2003 (винда 2000 русская)
Он жил и работал на моем рабочем компе на амер.офисе 2002 (винда XP пан-американская, региональные настройки на Россию).

Когда я поехала с ним в командировку, я пробовала его на японской винде 98 с соотв. офисом - 2000. При запуске макросов выползал Runtime Error.
Запустить его в той конторе мы смогли только на XP с амер. офисом (версий я не знаю).

Потом я обратила внимание, что будучи созданными на русском офисе, листы его, как объекты назывались по-русски (Лист1, Лист2...). Поэтому, когда я переводила в региональных настройках ХР-винду полностью в Японию (+ японский как язык для не-юникод приложений) - этот файлик открывался только при выключенных макросах, иначе - падал Эксцель.

На амер.офисе 2002 я это исправила, создала новый файл и перенесла туда все через copy-paste, а макросы - импортом. Листы теперь, как объекты  называются Sheet1, Sheet2... Теперь Эксцель в ХР при японских рег.настройках не падает - все работает нормально.

Эту траблу решили.

Но!

Я послала файл другу, у которого офис 2000 на русской 98 винде. У файла из макросов работает только запуск форм, на все остальное - runtime error. Что мне сделать, чтобы везде работало? Упросить японское начальство обновить софт мне сложнее, чем что-либо другое   Так больше нельзя...

 :?
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #1 : 21-04-2005 10:27 » 

Может не использовать стандартные имена листов, а присваивать свои?
Или обращаться не по имени, а по индексу
Если проблема конечно в ошибках при обращении к листам
Записан

I Have Nine Lives You Have One Only
THINK!
Oks
Гость
« Ответ #2 : 21-04-2005 23:59 » 

Если проблема конечно в ошибках при обращении к листам

В том-то и дело, что моих знаний и опыта недостаточно, чтобы определить, в чем проблема.

Вопрос 1: обычно макросы, написанные в офисах 2002-2003-XP выполняются на старых офисах?
Вопрос 2: есть какой-то опыт по совместимости-несовместимости приложений на VBA с офисами различных локализаций?

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

ru
Offline Offline

« Ответ #3 : 02-06-2005 11:45 » 

Если тема еще актуальна

Тут еще интересная мысль пришла (на собственном опыте (сам наткнулся) да и в инете нашел)

Проблема в Рефренсах, т.е. при написании макросов на ХР офисе используется библиотека MS Office 10.0 object library и другие похожие (надо смотреть),
в 2000 офисе используется MS Office 9.0 object library в результате не видно системных ф-ций (если зайти в Рефренсы, то там будет что-то типа Missing на неверных библиотеках)

У себя я исправлял баг путем изменения Рефренса в проекте для каждого мс офиса
Записан

I Have Nine Lives You Have One Only
THINK!
Oks
Гость
« Ответ #4 : 02-06-2005 23:18 » 

Мне недавно удалось решить проблему. Просто я нашла компьютер с Office 2000 с установленной поддержкой японского. Этого оказалось достаточно. Действительно, оказалось, что некоторые возможности XP не совместимы с 2000 и просто пришлось некоторые места переделать. Получилось замороченней, но зато у японцев заработало и щас я пишу хэлп  Круто!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines