1

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

Я знаю, что макросы могут быть защищены паролем, но я также знаю, что эта защита паролем слабая и что существует несколько инструментов для получения доступа к макросам без знания пароля.

Я думаю, что лучший способ для людей никогда не получить доступ к моему макро-коду - просто полностью удалить его.

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

Поместить мои макросы в файл XLA также невозможно, так как даже в полностью исправленном Excel 2003 Excel склонен к аварийному завершению работы при использовании файлов XLA, в то время как тот же код прекрасно работает внутри самого файла XLS.

Я думаю, что лучшим вариантом было бы иметь программу командной строки, которая могла бы легко удалять макросы, но после небольшого поиска в Google, похоже, такой программы не существует.

Видите ли вы другие варианты?

Благодарю.

2 ответа2

1

Я обнаружил этот вопрос без ответа во время блуждания по сайту. Возможно, вы уже решили проблему, но на всякий случай.

Мое решение этой проблемы - сохранить все мои макросы в книгах, которые я не раздаю клиентам.

Легко открыть другую рабочую книгу или оперировать другой. Если у вас есть With OtherWorkBook ... End With снаружи, код посередине идентичен тому, что было бы, если бы он был в целевой книге.

У меня никогда не было неудач с таким подходом.

1

Я запускаю Excel 2003 на Windows XP на пятилетнем Dell Latitude, и у меня нет проблем с двадцатью (20) компьютерами, которые загружаются каждый день.

Правильный ответ - отделить ваш код от вашего пользовательского интерфейса и от ваших данных, и не только для этого приложения, но и для каждого, что вы пишете. И это разделение лучше всего сделать с помощью надстроек. Но надстройки - это только обычные файлы Excel с перевернутым битом. Так что, если вам не нравится xla, просто поместите весь ваш код в xls, ваш пользовательский интерфейс в другой xls, а ваши данные в другом месте.

Код в файлах xls может манипулировать другими файлами xls так же, как и надстройка. Но на самом деле, просто используйте xla, потому что любой сбой вы испытали не потому, что это был xla.

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