пользователям программных продуктов Scala 5.1, iScala 2.1, iScala 2.2, iScala 2.3, iScala 3.0, iScala 3.1, iScala 3.2 (и так далее)

Как создать макрос в Excel и добавить его в меню надстроек?

Дано: клиенты присылают заказы на закупку в Excel’е. Excel файлы у всех одинаковой структуры, только содержимое каждый раз разное. Как мне сделать так, чтобы я мог запускать выгрузку из этих файлов в формат, пригодный для импорта заказов на продажу в iScala?

Дано: клиенты присылают заказы на закупку в Excel'е. Excel файлы у всех одинаковой структуры, только содержимое каждый раз разное. Как мне сделать так, чтобы я мог запускать выгрузку из этих файлов в формат, пригодный для импорта заказов на продажу в iScala?

Логичным видится создать макрос. Я так и сделал.

Логичным видится создать макрос. Я так и сделал.

Но он будет доступен только в том файле, который я создал, а хотелось бы, чтобы он был доступен при открытии любого присланного файла с заказом и при этом не надо было бы открывать какой-то дополнительный файл. Для этого мы можем сохранить его в виде надстройки Excel (файл с расширением .xlam. По-русски звучит смешно 🙂 ):

мы можем сохранить файл с макросом в виде надстройки Excel (файл с расширением .xlam. По-русски звучит смешно)

Теперь нужно подключить сохранённую надстройку, для этого перейдите в параметры Excel — «Файл -> Параметры -> Надстройки»:

Теперь нужно подключить сохранённую надстройку, для этого перейдите в параметры Excel - "Файл -> Параметры -> Надстройки"

Внизу формы найдите «Управление», выберите «Надстройки Excel» и нажмите кнопку «Перейти». Появится форма «Надстройки». Нажмите «Обзор»:

Внизу формы найдите "Управление", выберите "Надстройки Excel" и нажмите кнопку "Перейти"

Выберите нужный файл, который мы сохранили в качестве надстройки ранее:

Выберите нужный файл, который мы сохранили в качестве надстройки ранее

Теперь надстройка доступна для использования. Но как нам её использовать? Точнее, не её, а требуемый нам макрос. Откроем файл, который нам присылает клиент. В нём макроса нет, он в надстройке. Попробуем просмотреть код макроса: с помощью комбинации клавиш Alt + F11

Попробуем просмотреть код макроса: с помощью комбинации клавиш Alt + F11

Да, при просмотре кода он доступен. А теперь посмотрим, список макросов, ведь пользователь не будет входить в просмотр кода, ему нужно каким-то образом вызвать макрос:

посмотрим, список макросов, ведь пользователь не будет входить в просмотр кода, ему нужно каким-то образом вызвать макрос:

посмотрим, список макросов, ведь пользователь не будет входить в просмотр кода, ему нужно каким-то образом вызвать макрос

Вот это сюрприз! И что теперь делать?

Конечно, посмотреть, как это сделано у кого-нибудь другого 🙂 Хороший пример — добавление нашего макроса в меню Excel на закладку «Надстройки». Для этого в файле надстройки, которую мы создали раньше, необходимо добавить несколько строк кода, например, так:

в файле надстройки, которую мы создали раньше, необходимо добавить несколько строк кода, например, так

Пример кода, щёлкните, чтобы открыть

Не забудьте сохранить код, нажав на кнопку «Сохранить»! Перезагрузите Excel. Снова откройте присланный файл с заказом покупателя, перейдите на закладку «Надстройки»:

Снова откройте присланный файл с заказом покупателя, перейдите на закладку "Надстройки"

Макрос запускается!

Результат работы макроса

А вот и наш файл:

А вот и наш файл для импорта в iScala