Есть ли способ кэширования модуля Python в Excel? - PullRequest
0 голосов
/ 12 июня 2018

В настоящее время я изучаю библиотеку Python xlwings с целью использования функций Python в Excel.Чтобы проверить это, я создал в Excel кнопку, которая запускает скрипт Visual Basic, который выполняет функцию Python, которая увеличивает значение выбранной ячейки на единицу:

Sub MyMacro()
    RunPython ("import LearnXlwings; LearnXlwings.add_one(" & "'" & ActiveCell.Address & "'" & ")")
End Sub

Мой код на Python выглядит следующим образом:

import xlwings

def add_one(cell):
    wb = xlwings.Book.caller()
    wb.sheets[0].range(cell).value += 1

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

import xlwings

Есть ли способ, как я могу импортировать xlwings с помощью сценария VBA, а затем сохранить его в кэше, чтобы моймакрос не должен повторно импортировать его при каждом запуске?

...