Очень часто ко мне обращаются с просьбой сделать макросы, которые должны расширять возможности прайс-листов (файлов Excel), рассылаемых заказчикам по почте.
В таких случаях я обычно стараюсь отговорить заказчика от использования макросов (особенно, если файл Excel будет отправляться сотням человек)
Почему нельзя рассылать клиентам файлы с макросами:
- по-умолчанию макросы в Excel отключены (установлен высокий уровень безопасности).
К сожалению, не все разберутся, как и где и включать. Если пользователей пару десятков - этим вопросом можно пренебречь. А для тысяч пользователей вариант с макросами я бы не назвал "удобным"
Конечно, файл можно (и нужно) снабдить инструкциями по включению макросов для всех версий Excel, — но есть и такие люди, кто и с инструкцией ничего не поймёт.
- есть люди, работающие с файлами Excel при помощи OpenOffice / LibreOffice (как из-под Windows, так и из-под Linux).
Подавляющее большинство макросов для Excel не будут работать в других офисных пакетах, — там другая объектная модель, имеющая с Excel мало общего.
- на Mac многие макросы тоже не заработают
- антивирус начнёт ругаться на файл. Антивирусы порой сами удаляют макросы из файлов, а файрвол просто не пускает Excel в интернет (насчёт файрвола — это касается макросов, работающих с сетью - веб-запросы, скачивание и отправка файлов и почты. Причем макрос даже не поймёт, почему не удаётся отправить файл)
- многие откроют файл из почты на смартфоне или планшете. Там макросы в принципе не работают.
- требуется разблокировать файл с макросами перед использованием (поставить галочку в свойствах файла)
- не всегда удастся выслать файл с макросами по почте (например, гугл часто блокирует отправку писем с такими вложениями)
Что же делать?
Если всё надо делать из расчёта удобства для пользователя, а требуемый функционал Excel не обеспечивает (встроенных возможностей не хватает для автоматизации заполнения прайс-листа или заказа), — я бы посоветовал вообще отказаться от использования Excel, и реализовать всё через веб-интерфейс сайта. Т.е. пользователь прямо на сайте отмечает интересующие его позиции, и сайт сразу всё запоминает и обрабатывает.
Также есть вариант использовать обычное приложение (программу с расширением exe, реализованную на любом языке программирования), или преобразовать файл Excel в приложение exe (для этого есть специальные утилиты, - правда, они стоят денег)
Но, опять же, таким приложением не смогут пользоваться люди, использующие Linux и другие альтернативные операционные системы.
Ключевой момент тут — КОЛИЧЕСТВО пользователей. Если пользователей не больше 10-20, то можно этим вопросом пренебречь (и оптравлять файл Excel с макросами, снабдив пользователей необходимыми инструкциями).
Если же прайс будут получать сотни (и, тем более, тысячи человек), — использовать макросы категорически не рекомендуется, и надо искать другое решение, которое будет работать на ВСЕХ компьютерах (форма заказа на сайте).
Комментарии
Отправить комментарий