Макросы при рассылке файлов Excel

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

Почему нельзя рассылать клиентам файлы с макросами:

  • по-умолчанию макросы в Excel отключены (установлен высокий уровень безопасности). 
    К сожалению, не все разберутся, как и где и включать. Если пользователей пару десятков - этим вопросом можно пренебречь. А для тысяч пользователей вариант с макросами я бы не назвал "удобным"
    Конечно, файл можно (и нужно) снабдить инструкциями по включению макросов для всех версий Excel, — но есть и такие люди, кто и с инструкцией ничего не поймёт.
     
  • есть люди, работающие с файлами Excel при помощи OpenOffice / LibreOffice (как из-под Windows, так и из-под Linux). 
    Подавляющее большинство макросов для Excel не будут работать в других офисных пакетах, — там другая объектная модель, имеющая с Excel мало общего.
     
  • на Mac многие макросы тоже не заработают
     
  • антивирус начнёт ругаться на файл. Антивирусы порой сами удаляют макросы из файлов, а файрвол просто не пускает Excel в интернет (насчёт файрвола — это касается макросов, работающих с сетью - веб-запросы, скачивание и отправка файлов и почты. Причем макрос даже не поймёт, почему не удаётся отправить файл)
     
  • многие откроют файл из почты на смартфоне или планшете. Там макросы в принципе не работают.
     
  • требуется разблокировать файл с макросами перед использованием (поставить галочку в свойствах файла)
     
  • не всегда удастся выслать файл с макросами по почте (например, гугл часто блокирует отправку писем с такими вложениями)

 

Что же делать?

Если всё надо делать из расчёта удобства для пользователя, а требуемый функционал Excel не обеспечивает (встроенных возможностей не хватает для автоматизации заполнения прайс-листа или заказа), — я бы посоветовал вообще отказаться от использования Excel, и реализовать всё через веб-интерфейс сайта. Т.е. пользователь прямо на сайте отмечает интересующие его позиции, и сайт сразу всё запоминает и обрабатывает.

Также есть вариант использовать обычное приложение (программу с расширением exe, реализованную на любом языке программирования), или преобразовать файл Excel в приложение exe (для этого есть специальные утилиты, - правда, они стоят денег)
Но, опять же, таким приложением не смогут пользоваться люди, использующие Linux и другие альтернативные операционные системы.

Ключевой момент тут — КОЛИЧЕСТВО пользователей. Если пользователей не больше 10-20, то можно этим вопросом пренебречь (и оптравлять файл Excel с макросами, снабдив пользователей необходимыми инструкциями).

Если же прайс будут получать сотни (и, тем более, тысячи человек), — использовать макросы категорически не рекомендуется, и надо искать другое решение, которое будет работать на ВСЕХ компьютерах (форма заказа на сайте).

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  _____   _____                          __   __  __  __ 
|___ | |___ | _ __ ___ _ __ ___ \ \ / / | \/ |
/ / / / | '_ ` _ \ | '_ ` _ \ \ V / | |\/| |
/ / / / | | | | | | | | | | | | | | | | | |
/_/ /_/ |_| |_| |_| |_| |_| |_| |_| |_| |_|
Введите код, изображенный в стиле ASCII-арт.