2

У меня есть сложная электронная таблица Excel, которую мне нужно использовать на работе. Мои коллеги используют электронную таблицу на ПК с Windows без специальной настройки. Я хочу запустить его на MacBook Pro под управлением Snow Leopard. Электронная таблица содержит макросы VBA, которые подключаются к внешним базам данных Oracle через Интернет.

Если я правильно понимаю, Excel на Mac не запускает макросы VBA, поэтому я должен использовать Parallels. Я установил Parallels на Mac, и он работает правильно, насколько я могу судить. Я установил Excel 2007 под Parallels.

Я могу открыть электронную таблицу Excel в Parallels и щелкнуть кнопки в электронной таблице, чтобы запустить макросы, но они не работают с ошибками компилятора. У меня нет пароля к исходному коду для макросов VBA, и, если возможно, я не хочу копаться в коде на этом уровне.

Я знаю, что есть довольно много вещей, которые могут пойти не так, и изучение кода VBA может помочь, но я надеюсь решить проблему, не идя по этому пути. Электронная таблица работает без какой-либо специальной настройки в Windows, поэтому мне интересно, знает ли кто-нибудь о каких-либо ограничениях макросов Excel VBA в Parallels или что-нибудь еще, что я мог бы сделать, чтобы эта электронная таблица работала.

Это единственное, что мешает мне использовать этот MacBook Pro на работе.

Вот сообщение об ошибке:

Ошибка компиляции в скрытом модуле: clsXXXXx0020Toolx0020Ser . Эта ошибка обычно возникает, когда код несовместим с версией, платформой или архитектурой этого приложения. Нажмите Помощь для получения дополнительной информации.

Ошибка компиляции в скрытом модуле:

Защищенный модуль содержит ошибку компиляции. Поскольку ошибка в защищенном модуле, она не может быть отображена.

Эта ошибка обычно возникает, когда код несовместим с версией или архитектурой этого приложения (например, код в документе предназначен для 32-разрядных приложений Microsoft Office, но пытается выполнить его в 64-разрядной версии Office).

Эта ошибка имеет следующую причину и решение:

Причина ошибки:

Ошибка возникает, когда в коде VBA внутри защищенного (скрытого) модуля существует ошибка компиляции. Конкретная ошибка компиляции не раскрывается, потому что модуль защищен.

Возможные решения:

Если у вас есть доступ к коду VBA в документе или проекте, снимите защиту с модуля и снова запустите код, чтобы просмотреть конкретную ошибку.

Если у вас нет доступа к коду VBA в документе, обратитесь к автору документа, чтобы обновить код в скрытом модуле.

2 ответа2

0

Поскольку на уровне соединения с базой данных происходит сбой, вам необходимо выяснить, как источник VBA подключается к базе данных Oracle. Код VBA вызывает соединение DSN? DSN настроен в Windows? Это использует драйверы Oracle? Вам нужен JDBC? Там может быть длинный список того, как код соединяется с Oracle. Без этой информации вы, скорее всего, решите проблему.

0

Макрос изначально был написан и в Office 2007?

Совпадает ли установка Parallels с вашими установками, где макрос работает с точки зрения 32-бит /64-бит?

Помимо этих двух общих вопросов, я бы начал с сетевого аспекта вещей, так как вы написали

Электронная таблица содержит макросы VBA, которые подключаются к внешним базам данных Oracle через Интернет.

Как насчет сетевых настроек в Parallels - могут ли другие макросы или зависящие от сети функции Office (например, из раздела справки часто предлагать поиск в Интернете) быть в состоянии подключиться к вашей сети или Интернету?

Это вопрос, с которого я бы начал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .