Технологии Blogger.

Как запустить VBA макрос при помощи Python

При обработке данных Excel файлов используя Python, бывают ситуации, когда необходимо запустить с помощью Python макрос VBA, написанный ранее в Excel. В этой статье мы разберемся как это сделать с применением библиотеки Xlwings.

Как запустить VBA макрос при помощи Python
Для нашего учебного примера давайте создадим Excel файл и в нем макрос:
Sub SampleMacro()
MsgBox ("VBA макрос запущен при помощи Python")
End Sub
Как запустить VBA макрос при помощи Python

Сохраните Excel файл c поддержкой макросов под именем «vba_python.xlsm». Кстати, если вы позабыли, как создавать VBA макросы, то прочитайте нашу статью «Как удалить скрытые имена в Excel», в ней подробно мы разбирали этот вопрос.

Теперь запускаем Python и импортируем библиотеку Xlwings:
import xlwings as xw
Следующим этапом открываем Excel файл, который создали ранее:
vba_book = xw.Book("vba_python.xlsm")
Воспользуемся встроенным в Xlwings методом macro(), который как раз и предназначен для запуска VBA макросов. В качестве параметра в метод передается названия созданного ранее VBA макроса.:
vba_macro = vba_book.macro("SampleMacro")
Теперь запускаем макрос:
vba_macro()
Итого общий код нашего минипроекта выглядит следующим образом:

Как запустить VBA макрос при помощи Python

Выполнив этот код, мы получим следующий результат в Excel файле:

Как запустить VBA макрос при помощи Python
Отлично, все работает!

Хотел бы обратить ваше внимание, что ваше знание Python и Excel очень поможет в освоении новой, перспективной и востребованной профессии «Data Scientist». Если хотите узнать об этом побольше, запишитесь на курс «Data Scientist с нуля до Junior» от Skillbox.

Спасибо за внимание, жду ваших вопросов в комментариях.

0 comments:

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

Спасибо за комментарий.