Распространять макрос xlwings без установки xlwings?

У меня возникли проблемы с поиском ответа на этот вопрос - я пишу простой VBA с целью, чтобы мои коллеги могли установить его как надстройку или настраиваемую вкладку. Исходя из Python, я бы, конечно, предпочел работать с xlwings или pyxll, но, как я понял, для вызова любого python вам нужно будет установить xlwings на каждый компьютер?
Идеальным сценарием было бы то, что я мог бы разработать надстройки Excel с помощью xlwings или pyxll и экспортировать их, как если бы это была обычная надстройка Excel, чтобы мои коллеги могли легко ее установить. К сожалению, я не могу установить все необходимые модули Python на каждый целевой компьютер.
Возможно ли это или просто выдает желаемое за действительное?


person dv3    schedule 07.08.2017    source источник


Ответы (4)


Одна из возможностей — преобразовать все необходимые файлы Python (ваши скрипты, файлы xlwings и интерпретатор Python) в автономный исполняемый файл. На веб-сайте xlwings приводится пример, где это было сделано (fibonacci_standalone.zip). См. также страницу документации по развертыванию.

person Xukrao    schedule 13.08.2017

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

Во-первых, вашим коллегам потребуется установить Python на свой компьютер для запуска из VBA даже с надстройкой xlwings. Однако, если у них есть python (и любые соответствующие модули, которые вы используете, такие как numpy, xlwings и т. Д.), Вы можете просто дать своим коллегам копию своего макроса (возможно, с исходным кодом xlwings выше, поэтому им не нужно загружать надстройка VBA).

Опять же, я не эксперт, но я пытался обойти эту проблему и не нашел лучшего решения.

person James Carter    schedule 13.08.2017

Я согласен с вами, лучшее решение - у всех установлена ​​анаконда на компьютере, лучше всего вам не нужны права администратора для установки анаконды, просто используйте опцию «только я».

person Jorge Antonio Galaz    schedule 13.11.2019

Существуют различные хорошие варианты распространения надстроек на основе PyXLL, включая объединение Python и PyXLL в один установщик.

См. https://www.pyxll.com/docs/userguide/distribution.html некоторые детали.

Вот ссылка на то, что вам нужно для создания MSI для надстройки PyXLL, которая будет включать среду выполнения Python и весь ваш код Python https://github.com/pyxll/pyxll-installer.

Для развертывания внутри организации использование сценария запуска часто является лучшим способом, поскольку он позволяет легко устанавливать обновления без необходимости переустанавливать что-либо (https://www.pyxll.com/docs/userguide/distribution.html#using-a-startup-script-to-install-and-update-python-code).

Если вам нужна помощь в этом, свяжитесь со службой поддержки PyXLL. Это очень распространенный вариант использования, когда вы хотите выполнить внутреннее развертывание для пользователей, не являющихся пользователями Python, и поэтому у них большой опыт в этом.

person Tony Roberts    schedule 15.11.2020